LeetCode OJ--Remove Duplicates from Sorted Array II

http://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/

要求可以用重复元素,但是最大重复次数为两次。

#include <iostream>
using namespace std;

class Solution {
public:
    int removeDuplicates(int A[], int n) {
        if(n == 0)
            return 0;
        if(n == 1)
            return 1;
        int times = 1;
        int preOne = A[0];
        int nextAvaliablePosition = 1;
        for(int i = 1;i<=n-1;i++)
        {
            if(A[i] != preOne )
            {
                preOne = A[i];
                A[nextAvaliablePosition] = A[i];
                nextAvaliablePosition ++;
                times = 1;
            }else
            {
                times ++;
                if(times == 2)
                {
                    A[nextAvaliablePosition] = A[i];
                    nextAvaliablePosition ++;
                }
            }
        }
        return nextAvaliablePosition;
    }
};


int main() 
{
    Solution myS;
    int A[] = {1,5,5,2,2,2,3,4,4,4};

    int ans = myS.removeDuplicates(A,10);
    cout<<ans;
    return 0;

}
原文地址:https://www.cnblogs.com/qingcheng/p/3545967.html