class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型 */ int remove_duplicates_v3(vector<int>& nums) { // write code here int n = nums.size(); int ans = 0, cnt = 0, pre = -1; for (int i = 0; i < n; ++i) { if (i == 0 || nums[i] != pre) { nums[ans++] = nums[i]; pre = nums[i]; cnt = 1; } else { if (nums[i] == pre) { if (cnt >= 3)continue; else { nums[ans++] = nums[i]; cnt++; } } } } return ans; } };
一、题目考察的知识点
模拟
二、题目解答方法的文字分析
就是直接遍历一遍,更新维护ans和cnt的值
三、本题解析所用的编程语言
c++