35. 搜索插入位置 - LeetCode

35. 搜索插入位置

题目链接

二分查找

  • 查找目标数,若找不到,就返回最小的大于它的数的位置
  • 在普通二分查找的基础上,记录大于目标值的mid即可
class Solution {
    public int searchInsert(int[] nums, int target) {
        int left = 0, right = nums.length - 1, ans = nums.length;
        while(left <= right){
            int mid = left + (right - left) / 2;
            if(nums[mid] == target) return mid;
            if(nums[mid] < target) left = mid + 1;
            else{
                ans = mid;
                right = mid - 1;
            }
        }
        return ans;
    }
}
posted @ 2021-02-18 10:12  一天到晚睡觉的鱼  阅读(39)  评论(0)    收藏  举报