题目真的很简单,然后就掉以轻心,导致交了几遍才过。。。代码一看应该就能懂的那种。。。
但是因为数组是有序的,又是查找,所以更优的解法应该是二分查找,时间复杂度为log(n),而不是遍历的o(n)
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int len = nums.size();
if(len==0)
return 0;
if(nums[0]>=target)
return 0;
for(int i = 0;i<len-1;i++)
{
if(nums[i]==target)
return i;
if(nums[i]<target&&nums[i+1]>target)
return i+1;
}
if(nums[len-1]==target)
return len-1;
return len;
}
};