Description:
https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/#/description
Algorithm:
Traverse. Count the duplicates, if duplicates > 2, erase the element and –i
Code:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int numDuplicate = 0;
for (int i = 0; i < nums.size();i++)
{
if (i == 0)
continue;
if (nums[i] == nums[i - 1])
numDuplicate++;
else
numDuplicate = 0;
if (numDuplicate > 1)
{
nums.erase(nums.begin() + i);
i--;
}
}
return nums.size();
}
};
Timing:
O(n).
13 ms, the fastest is 12ms.