二分的基本思想

97 阅读1分钟

图解

image.png

理解:

我要找到就是 x 的位置,然后至于 x 位置所对应的元素值 是否 符合题意,则不一定。 即我一定可以找到x的位置。

模板

public int searchInsert(int[] nums, int target) {  
    int l = 0;  
    int r = nums.length - 1;  //  r 的取值要考虑x的取值范围。 有时候r = nums.length;
  
    while(l < r) {  
        int mid = l + r >> 1;  
        if(target <= nums[mid]) r = mid;  
        else l = mid + 1;  
    }  
  
    return l;  
}

相关题目

[[704 二分查找]]

[[35 搜索插入位置]]

[[34 在排序数组中查找元素的第一个和最后一个位置]]

[[69 x 的平方根]]

[[367 有效的完全平方数]]