@陌路就此孤单i请根据需要自行修改你的a和key,在a里要是查不到key的值得话,会返回-1。
希望帮到你。
int[] a={1,3,4,6,8,9,11};
int key = 11;
int l = a.length;
int m = (l + l % 2) / 2 - 1;
while (l > 1) {
if (a[m] > key) {
a = Arrays.copyOfRange(a, 0, m);
} else if (a[m] < key) {
a = Arrays.copyOfRange(a, m + 1, l);
} else {
a = new int[]{a[m]};
printInt(a);
break;
}
l = a.length;
m = (l + l % 2) / 2 - 1;
}
if (a[0] == key) {
System.out.println(a[0]);
} else {
System.out.println("-1");
}