1-5 re 6ac(java)求助!
查看原帖
1-5 re 6ac(java)求助!
871152
Mr_xiao楼主2023/3/7 19:46
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.Arrays;

public class Main {
	static StreamTokenizer streamTokenizer=new StreamTokenizer( new BufferedReader(new InputStreamReader(System.in)));
	static PrintWriter printWriter=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
	public static int nextInt() throws IOException {
		streamTokenizer.nextToken();
		return (int) streamTokenizer.nval;
	} 
	public static char nextchar() throws IOException {
		streamTokenizer.nextToken();
		return (char) streamTokenizer.nval;
	}
	public static String nextString() throws IOException {
		streamTokenizer.nextToken();
		return streamTokenizer.sval;
	}
	static long [] array,ac;
	static long e;
	static int l,r,mid,numbre,c;
	public static void main(String[] args) throws IOException {
	int n=nextInt();
	int m=nextInt();
	array=new long[n];
	ac=new long[m];
	for (int i = 0; i < array.length; i++) {
		array[i]=nextInt();
	}
	for (int i = 0; i < m; i++) {
		ac[i]=nextInt();
	}
	for (int i = 0; i < m; i++) {
			printWriter.print(leftMargin(array, ac[i])+" ");
	}
	printWriter.flush();
    }
	public static int leftMargin(long []nums,long target) {
	l=0;r=nums.length;
	while(l<=r) {
		mid=(r-l)/2+l;
		long temp=nums[mid];
		if (temp==target) {
			r=mid-1;
		}else if (temp>target) {
			r=mid-1;
		}else {
			l=mid+1;
		}
	}
	if (nums[l]==target) {
		return l+1;
	}else {
		return -1;
	}
	
	}

}
2023/3/7 19:46
加载中...