二分查找,开闭区间

 

int binarySearch(int[] nums, int target) {
int low = 0;
int high = nums.length;
while (low < high) {
        int mid = low + ((high - low) >> 1);
        if (target > nums[mid]) {
          low = mid + 1;
        } else {
            high = mid;
        }
    }
return low;
}

当然需要澄清的一点是,必须注意这个模板找到的是什么数,找到的是:
第一个小于或等于目标数的下标。

转自:https://blog.csdn.net/m0_37302219/article/details/107180126

posted @ 2021-07-16 14:32  FL1188  阅读(80)  评论(0)    收藏  举报