题目:
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 == 0)
return 0;
if(n == 1)
return 1;
int length = 2;
for(int i = 2; i < n; i++) {
if(A[i] != A[length-1] || (A[i] == A[length-1] && A[i] != A[length-2])) {
A[length] = A[i];
length++;
}
}
return length;
}
};
本文探讨了如何在已排序的数组中,处理最多允许出现两次重复元素的情况,通过定制化的函数实现去除多余重复元素的功能,并提供了解决方案及示例代码。
247

被折叠的 条评论
为什么被折叠?



