在一个有序数组中找第一个大于等于target的下标

    public int searchInsert(int[] nums, int target) {
        int n = nums.length;
        int left = 0, right = n-1, ans = n;
        while(left <= right) {  // [left, right]
            int mid = left + ((right - left) >> 1);
            if (target <= nums[mid]) {
                ans = mid;
                right = mid - 1;
            } else {
                left = mid + 1;
            }
        }
        return ans;
    }

 

posted @ 2021-09-26 21:58  Peterxiazhen  阅读(163)  评论(0编辑  收藏  举报