算法1
思路:双指针
一般像这种求数组后元素个数问题,都会变成nums[k++],
就是里面会有一个新的计数
C++ 代码
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()<=2) return nums.size();//如果只是两个数,直接返回size
int k=2;//本题可以保留两个重复的数字
for(int i=2;i<nums.size();i++)//从第二个数开始数
if(nums[i]!=nums[k-1]||nums[i]!=nums[k-2])//如果数组元素与前一个或者倒数第二个相同,num//s数组k下标增加
nums[k++]=nums[i];
return k;
}
};