public class Main {
public static void main(String[] args) {
// write your code here
int[] array = {1 ,2,5,7,9,19,24,46,79};
int target = 19;
int idx = binarySearch(array, target);
System.out.println(idx);
}
private static int binarySearch(int[] array, int target) {
int l= 0, r = array.length - 1, m;
while(l <= r){
m = (l + r) / 2;
if (array[m] == target) {
return m;
} else if(array[m] > target){
r = m-1;
}else {
l = m+1;
}
}
return -1;
}
}
方法1:
int m = l + (r-l)/2