//无论是否有重复元素,正常的二分是 lo <= hi
public static int binarySearch(int[] a, int key) {
int lo = 0, hi = a.length-1;
while (lo <= hi) {
int mid = lo + (hi - lo) / 2;
if (key < a[mid]) hi = mid - 1;
else if (key > a[mid]) lo = mid + 1;
else return mid;
}
return -1;
}
重复元素 二分查找 lo 小于等于 hi还是lo 小于 hi
最新推荐文章于 2020-12-16 15:36:53 发布