java80分一个TLE求调
查看原帖
java80分一个TLE求调
1638200
lxyrichhhhhhhhhhh楼主2025/1/21 19:06
import java.util.*;

public class Main {
	
	
	public static int fn(int val,int n,int[]aa) {
		 int lf=0;
      int rg=n-1;
      int mid=0;
      while(lf<rg) {
    	   mid=lf+((rg-lf)>>1);
    	  if(aa[mid]>=val) {
    		  rg=mid;
    	  }
    	  else if(aa[mid]<val) {
    		  lf=mid+1;
    	  }
    	
		
      }
      if(aa[lf]==val)
    	  return lf+1;
      return -1;
	}

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n=scan.nextInt();
        int m=scan.nextInt();
        int [] aa=new int[n+1];
      
      for(int i=0;i<n;i++) {
    	  aa[i]=scan.nextInt();
      }
      for(int i=0;i<m;i++) {
    	  int q=scan.nextInt();
    	   System.out.print(fn(q, n, aa)+" ");
      }
     
     
        scan.close();
    }
}
2025/1/21 19:06
加载中...