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 class Solution { 2 public: 3 int removeDuplicates(int A[], int n) { 4 5 int p1=0; 6 int p2=1; 7 if(n<=2) return n; 8 9 int count=0; 10 for(int i=2;i<n;i++) 11 { 12 if(A[p1]==A[p2]&&A[p2]==A[i]) 13 { 14 count++; 15 continue; 16 } 17 else 18 { 19 A[i-count]=A[i]; 20 } 21 p1++; 22 p2++; 23 } 24 return n-count; 25 } 26 };
【leetcode】Remove Duplicates from Sorted Array II
原文:http://www.cnblogs.com/reachteam/p/4202293.html