题目:
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].
分析:
1.可以加一个变量来记录重复元素的个数。
2.如果数组不是排好序的,可以利用hashmap来记录元素的个数。
public class Solution {
public int removeDuplicates(int[] A) {
if(A==null || A.length==0)
return 0;
int index=0;
int count=0;
for(int i=1;i<A.length;i++) {
if(A[index]!=A[i]) {
A[++index]=A[i];
count=0;
}
else if(count<1) {
A[++index]=A[i];
count++;
}
}
return index+1;
}
}
Remove Duplicates from Array II
原文:http://www.cnblogs.com/hwu2014/p/4423106.html