LeetCode 80:Remove Duplicates from Sorted Array II

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 ofnums being 1, 1, 2, 2 and3. It doesn’t matter what you leave beyond the new length.

此题要求数组中每个元素出现的个数不大于两次。所以需要加一个计数器来统计每个元素出现的次数。

代码如下:

int removeDuplicates2(vector<int>& nums) {int length = nums.size();if (length == 0)return 0;int j=0;int times = 1;for (int i=1; i<length; i++){if (nums[i] != nums[j]){nums[++j] = nums[i];times = 1;}else{times++;if (times == 2){nums[++j] = nums[i];}}}return j+1;}

,来说是非者,便是是非人。

LeetCode 80:Remove Duplicates from Sorted Array II

相关文章:

你感兴趣的文章:

标签云: