题目描述 继续思考题目"Remove Duplicates":
如果数组中元素最多允许重复两次呢? 例如: 给出有序数组 A =[1,1,1,2,2,3], 你给出的函数应该返回length =5, A 变为[1,1,2,2,3]
代码如下:
public int removeDuplicates(int[] A) {
if(A.length <= 2) return A.length;
int index = 2;
for(int i = 2; i < A.length; i++){
// 如果当前值与 index - 2 的值不相等,那么就可以操作,相等就跳过
if(A[index - 2] != A[i]){
A[index++] = A[i];
}
}
return index;
}
}