主题思想: 这道题和33,34 本质是一样的,都是考察二分查找,只不过这一道题不是找到返回下标,找不到返回-1,而是返回大于目标值的最小值下标,也可以说是返回target的排名,即比target小的数有几个。
和二分查找仅仅是返回值不同这里返回low就可以了。
“`
class Solution {
public int searchInsert(int[] nums, int target) {
if(nums==null||nums.length==0) return 0;
int low=0;
int hi=nums.length-1;
int mid=0;
while(low<=hi){
mid=low+(hi-low)/2;
if(target<nums[mid]){
hi=mid-1;
}else if(target>nums[mid]){
low=mid+1;
}else return mid;
}
return low;
}
}“`