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++

京公网安备 11010502036488号