80. 删除排序数组中的重复项 II
class Solution { public: int removeDuplicates(vector<int>& nums) { if(nums.size()==0) return 0; if(nums.size()==1) return 1; int ans=1; int ops=0; int dd=0; bool flag=false;//用于相同的超过两个之后的不做处理,下标不增加 for(int i=1;i<nums.size();i++) { if(nums[i]!=nums[i-1])//跟前面不一样肯定是满足的 { dd=0; ans++; flag=false; ops++; } else{ dd++; if(dd==2)//两个相同的之后就不用考虑了,dd置为0 { flag=true;dd=0; } if(!flag){ ans++;ops++; } } nums[ops]=nums[i]; } return ans; } };