ZZULIOJ 1152: 二分搜索,Java

1152: 二分搜索

import java.io.*;
import java.util.Scanner;
public class Main {
    
    
    static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
    static Scanner cin = new Scanner(System.in);
    static int []a = new int[100010];
    public static int Binary_search(int n,int x)
    {
    
    
        int l=0,r=n-1;
        while(l<=r)
        {
    
    
            int mid=l+r>>1;
            if(a[mid]==x) return mid;
            else if(a[mid]>x) r=mid-1;
            else l=mid+1;
        }
        return -1;
    }
    public static void main(String[] args) {
    
    
        int n=cin.nextInt();
        for(int i=0;i<n;i++) a[i]=cin.nextInt();
        int m=cin.nextInt();
        while(m-->0)
        {
    
    
            int x=cin.nextInt();
            int pos=Binary_search(n,x);
            if(pos==-1) out.println("Not found!");
            else out.println(pos);
        }
        out.close();
    }
}

Guess you like

Origin blog.csdn.net/qq_52792570/article/details/121795299