怎樣快速的理解和記住二分法
1.定前后端left,right
2.前后不相錯(cuò)舷蟀,一直循環(huán),每次根據(jù)中間值調(diào)整兩端,或返回下標(biāo)
public int binarySearch(int[] arr,int target) {
int left = 0;
int right = arr.length-1;
while(left <= right) {
int midIndex = left + ((right - left)>>1);
int midValue = arr[midIndex];
if(target > midValue) {
left = midIndex + 1;
}else if(target < midValue) {
right = midIndex - 1;
}else {
return midIndex;
}
}
return -1;
}