题目:https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/
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]
.
算法分析:时间复杂度O(n),空间复杂度O(1)。
public class Solution {
public int removeDuplicates(int[] A) {
if(A.length<=2) {
return A.length;
}
int index=2;
for(int i=2;i<A.length;i++) {
if(A[i]!=A[index-2]) {
A[index++]=A[i];
}
}
return index;
}
}