刷题成习惯以后感觉挺好的
Num 27 移除元素 Remove Element
跟那个排序去掉相同的一样,len标记然后新的不重复的直接放到len
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int len=;
for(int i=;i<nums.capacity();i++)
{
if(nums[i]!=val)
{
nums[len++]=nums[i];
}
}
return len;
}
};
Num 35 搜索插入位置 Search Insert Position
注意一下 if (target>a[count++]),即使不成立,count也是会++的emm
另外,这道题可以用二分法。
我现在写出来的二分和非二分都需要特判,回头看一下
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if(nums.capacity()==) return ;
if(target<=nums[]) return ;
int l=;
int r=nums.capacity()-;
int mid=(l+r)/;
while(l<=r)
{
if(target==nums[mid]) return mid;
else if(target<nums[mid])
r=mid-;
else
l=mid+;
mid=(l+r)/;
}
return mid+;
}
};
erfen
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if(nums.capacity()==) return ;
if(nums[nums.capacity()-]<target) return nums.capacity();
int count=;
while(count<nums.capacity() && target>nums[count++]);
return count-;
}
};