题目:
Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For example, Given sorted array nums = [1,1,1,2,2,3], Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length.
分析:
没个2个数字进行比较,若不相同,则把其存入新数组。与前一个相比只需增加一个变量记录数据出现的次数即可。
代码实现:
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()<2) return nums.size();
int index = 2;
for (int i = 2;i < nums.size();i++)
{
if(nums[i] != nums[index-2])
nums[index++] = nums[i];
}
return index ;
}
};
转载请注明原文地址: https://ju.6miu.com/read-16312.html