跟进“删除重复数字”:
如果可以允许出现两次重复将如何处理?
允许出现两次重复的意思就是说两次重复不算重复,和一次重复的略有不同,只需要一个计数器来计算是否有两次重复就可以了。
int removeDuplicates(vector<int> &nums) {
if(nums.empty())
return 0;
int i=1;
int j=0;
int flag=1;
for(;i<nums.size();i++)
{
if(nums[i]!=nums[j])
{
cout<<nums[i]<<" ";
nums[j+1]=nums[i];
j++;
flag=1;
}
else if(nums[i]==nums[j])
{
if(flag>=2)
continue;
else
{
nums[j+1]=nums[i];
j++;
flag++;
}
}
}
nums.reserve(j+1);
return j+1;
// write your code here
}
网友评论