##题目
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.
##思路
本题计算数组个数,因为数组有序,且重复项不超过俩个,那么只要从数组index=2处将nums[index]与nums[index-2]比大小,大的就计数加一,否则不变
##代码
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int i = 0;
for (int n : nums)
if (i < 2 || n > nums[i-2])
nums[i++] = n;
return i;
}
};
标签:index,return,nums,Duplicates,Remove,II,##,int,数组
From: https://blog.51cto.com/u_15996214/6105916