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]
.
import java.util.ArrayList;
public class Solution {
public Solution(){
System.out.println(removeDuplicates(new int[]{1, 1}));
}
public int removeDuplicates(int[] A) {
if(A.length == 0)
return 0;
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(A[0]);
int counter = 1;
for(int i=1;i < A.length;i++){
if(list.get(list.size() - 1) != A[i]){
counter = 1;
list.add(A[i]);
}else if(counter < 2 ){
counter++;
list.add(A[i]);
}
}
System.out.print("[");
for(int i=0;i < list.size() - 1;i++)
System.out.print(list.get(i)+",");//
System.out.println(list.get(list.size() - 1)+"]");//
return list.size();
}
public static void main(String[] args){
new Solution();
}
}
以上代码在jdk1.6上运行结果正确,提交时通不过,显示
而我的运行结果是正确的,不知为么:
有人遇到相同问题吗???