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]
.
public class Solution { public int removeDuplicates(int[] A) { if(A == null || A.length == 0) return 0; int start = 0, end = 0, count =1; for(int i = 1; i < A.length; i++){ if(A[i] == A[i-1]){ end++; if(end - start < 2){ A[count++] = A[i]; } continue; }else{ A[count++] = A[i]; start = i; end = i; } } return count; } }
[Leetcode]-- Remove Duplicates from Sorted Array II
原文:http://www.cnblogs.com/RazerLu/p/3547934.html