java21最后一个测试没过
import java.io.PrintWriter;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Main{
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(System.out)){
String[] tokens = reader.readLine().split(" ");
int n = Integer.parseInt(tokens[0]);
int m = Integer.parseInt(tokens[1]);
int[] num = new int[n];
tokens = reader.readLine().split(" ");
for (int i = 0; i < num.length; i++) {
num[i] = Integer.parseInt(tokens[i]);
}
tokens = reader.readLine().split(" ");
for (int i = 0; i < m; i++) {
int search = Integer.parseInt(tokens[i]);
out.print(binarySerach(num,search) + " ");
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
static int binarySerach(int[] num,int target) {
int left = 0,right = num.length - 1;
while (left < right) {
int mid = (left + right) >> 1;
if (num[mid] >= target) {
right = mid;
}else {
left = mid + 1;
}
}
if (num[left] == target) {
return left + 1;
}
else
return -1;
}
}