class Solution {
/*
//暴力
public int searchInsert(int[] nums, int target) {
for(int i=0;i<nums.length;i++){
if(nums[i]>=target) return i;
}
return nums.length;
}
*/
//二分查找
public int searchInsert(int[] nums, int target) {
return searchInsert(nums,target,0,nums.length);
}
public int searchInsert(int[] nums, int target,int start,int end) {
while(start<end){
int mid=(end+start)/2;
if(nums[mid]==target) return mid;
else if(nums[mid]<target){
return searchInsert(nums,target,mid+1,end);
}else{
return searchInsert(nums,target,start,mid);
}
}
if(start<nums.length&&target>nums[start]) return start+1;
else return start;
}
}
leetcode 第35题 搜索插入位置
最新推荐文章于 2022-05-01 14:06:53 发布