标签:
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].
思路:就是记录出现次数和2比。
class Solution {
public:
int removeDuplicates(int A[], int n) {
if (n == 0) return 0;
int tmp = A[0], count = 0;
int cur = 0;
for (int i = 0; i < n; i++) {
if (tmp == A[i])
count++;
else {
for (int j = 0; j < min(count, 2); j++)
A[cur++] = tmp;
tmp = A[i];
count = 1;
}
}
for (int i = 0; i < min(2, count); i++)
A[cur++] = tmp;
return cur;
}
};LeetCode Remove Duplicates from Sorted Array II
标签:
原文地址:http://blog.csdn.net/u011345136/article/details/44943201