您的位置:首页 > 其它

leetcode[80]Remove Duplicates from Sorted Array II

2015-02-09 14:14 435 查看
Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?

For example,
Given sorted array A =
[1,1,1,2,2,3]
,

Your function should return length =
5
, and A is now
[1,1,2,2,3]
.

class Solution {
public:
int removeDuplicates(int A[], int n) {
if(n<=2)return n;
int len=1;
int curr=A[0];
map<int,int> Amap;
Amap[curr]=1;
for(int i=1;i<n;i++)
{
if(A[i]==curr)
{
Amap[curr]++;
if(Amap[curr]<=2)
{
A[len]=curr;
len++;
}
}
else
{
curr=A[i];
Amap[curr]=1;
A[len]=curr;
len++;
}
}
return len;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: