题目
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].
在Remove Duplicates from Sorted Array基础上加上重复计数即可。
代码
public class RemoveDuplicatesFromSortedArrayII {
public int removeDuplicates(int[] A) {
if (A == null || A.length == 0) {
return 0;
}
int len = 1;
int count = 0;
for (int i = 1; i < A.length; ++i) {
if (A[i] != A[len - 1]) {
A[len++] = A[i];
count = 0;
} else if (count < 1) {
++count;
A[len++] = A[i];
}
}
return len;
}
}LeetCode | Remove Duplicates from Sorted Array II,布布扣,bubuko.com
LeetCode | Remove Duplicates from Sorted Array II
原文:http://blog.csdn.net/perfect8886/article/details/22919367