分析
用快慢两个指针对数组本身进行覆盖,由于数组有序,如果慢指针-2如果还与fast指针相同说明此时重复元素一定超过2个了,跳过快指针即可
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()<=2)return nums.size();
int slow=2,fast=2;
for(fast;fast<nums.size();fast++){
if(nums[slow-2]!=nums[fast])
nums[slow++]=nums[fast];
}
return slow;
}
};