给你一个排序数组,删除其中的重复元素,使得每个数字最多出现两次,返回新的数组的长度。
如果一个数字出现超过2次,则这个数字最后保留两个。
样例
样例 1:
输入: []
输出: 0
样例 2:
输入: [1,1,1,2,2,3]
输出: 5
样例解释:
长度为 5, 数组为:[1,1,2,2,3]
注意事项
需要在原数组中操作
class Solution {
public:
/**
* @param A: a list of integers
* @return : return an integer
*/
int removeDuplicates(vector<int> &nums) {
// write your code here
int cnt=1;
int len=nums.size();
for(int i=0;i<len-1;i++)
{
if(nums[i]==nums[i+1]) cnt++;
else cnt=1;
if(cnt>2)
{
vector<int>::iterator it=nums.begin();
nums.erase(it+i);
len--;
i--;
}
}
return len;
}
};