您的位置:首页 > 其它

lintcode-删除排序数组中的重复数字II-101

2015-09-21 00:18 330 查看
跟进“删除重复数字”:

如果可以允许出现两次重复将如何处理?

样例 给出数组A =[1,1,1,2,2,3],你的函数应该返回长度5,此时A=[1,1,2,2,3]。

class Solution {
public:

int removeDuplicates(vector<int> &nums) {
if(nums.empty())
return 0;

map<int,int> check;
int fast=0,slow=0;
while(fast<nums.size()){
if(check[nums[fast]]!=2){
++check[nums[fast]];
if(slow!=fast)
nums[slow]=nums[fast];
++slow;
}
++fast;
}

while(slow++<fast)
nums.pop_back();

return nums.size();
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: