LeetCode: Remove Duplicates from Sorted Array II

来源:互联网 发布:tcp ip协议 网络编程 编辑:程序博客网 时间:2024/04/29 21:42

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) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        if(n <= 1){return n;}          int pos = 0;          for(int i = 0; i< n; ++i){              int count = 0;            while(i < n- 1 && A[i] == A[i +1]){                  i++;                  count++;            }              if(count > 1){                count = 1;            }            if(count){                A[pos++] = A[i];            }            A[pos++] = A[i];          }          return pos;    }};


原创粉丝点击