101. 删除排序数组中的重复数字 II

xiaoxiao2021-02-28  22

点击打开链接

题目接上一篇 100 。

允许出现两次,可以设定一个标志 falg 来计数,其余的不发生变化,将flag值初始设定为0,重复一次就加一,将多余重复的覆盖,最后重新设定vector的大小。与100类似。

public: /** * @param A: a list of integers * @return : return an integer */ int removeDuplicates(vector<int> &nums) { // write your code here int num = nums.size(); if(num == 0) return 0; int flag = 0; int j = 0; for(int i = 1; i < num; i++) { if(nums[i] != nums[j]) { nums[++j] = nums[i]; flag = 0; } else if(nums[i] == nums[j] && flag == 0) { nums[++j] = nums[i]; flag++; } } nums.resize(j + 1); return nums.size(); } };

2018/1/25

转载请注明原文地址: https://www.6miu.com/read-1450271.html

最新回复(0)