35. 搜索插入位置(Java)leecode

35. 搜索插入位置(Java)leecode_第1张图片
解题思路:

利用左侧二分查找,返回的位置就是按顺序应该插入的顺序。

左侧二分查找,见第一种情况

class Solution {
    public int searchInsert(int[] nums, int target) {
        if(nums.length == 0 ) return -1;

        int left = 0;
        int right = nums.length - 1; //两端都闭的情况,下面更新right和left都-1

        while(left <= right){  //right 为nums.length - 1
            int mid = left + (right - left) / 2;
            
            if(nums[mid] >= target){
                right = mid - 1;
            }else{
                left = mid + 1;
            }
        }

        return left;
    }
}

你可能感兴趣的:(java,后端,leetcode,算法,排序算法)