题目描述
请点击
解题思路
- for循环遍历数组,数组元素第一个大于等于target的元素下标就是要插入或找到的位置
- 有个例外情况,就是,数组中所有元素都不大于target,那么返回数组大小,即数组最后一个元素的后一个位置
Java 8.29
class Solution {
public int searchInsert(int[] nums, int target) {
int left=0, right=nums.length-1;
while(left<=right){
int mid=(left+right)/2;
if(nums[mid]<target){
left=mid+1;
} else{
right=mid-1;
}
}
return left;
}
}
C++代码
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int size=nums.size();
for(int i=0;i<size;i++){
if(target<=nums[i]){
return i;
}
}
return size;
}
};