35. 搜索插入位置

35. 搜索插入位置

class Solution {
    public int searchInsert(int[] nums, int target) {
        int l = 0, r = nums.length - 1;
        while (l < r) {
            int mid = l + ((r - l) >> 1);
            if (nums[mid] >= target) r = mid;
            else l = mid + 1;
        }
        // 二分到右边界时,还要比nums[nums.length - 1] 大,说明这个target 应该插入到nums.length 位置上
        if (nums[r] < target && r == nums.length - 1) {
            return r + 1;
        }
        return l;
    }
}
posted @ 2022-11-11 13:03  Eiffelzero  阅读(18)  评论(0)    收藏  举报