首页 > 代码库 > Remove Duplicates from Sorted Array II

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].

class Solution {public:    int removeDuplicates(int A[], int n) {        if(n==0)            return 0;        int start=1;        bool twice=false;        for(int i=1;i<n;i++){            if(A[i]!=A[i-1]){                 A[start++]=A[i];                 twice=false;            }            else if(!twice){                A[start++]=A[i];                twice=true;            }        }        return start;    }};

 

Remove Duplicates from Sorted Array II