题解 | #草原牛群集合#
草原牛群集合
https://www.nowcoder.com/practice/6fc74519ff9c44288dbcec5db7345ded
一、知识点
数组 模拟
二、解题思路
用变量idx记录"新数组"的下标。
若当前值不等于val,则将其加入新数组,同时idx++;否则继续遍历原数组。
时间复杂度O(n),空间复杂度O(1)。
三、C++解法
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @param val int整型
* @return int整型
*/
int remove_cows(vector<int>& nums, int val) {
int len = nums.size();
int idx = 0;
for (int i = 0; i < len; i ++) {
if (nums[i] != val) {
nums[idx++] = nums[i];
}
}
return idx;
}
};
#在找工作求抱抱#高频算法Top202-题解 文章被收录于专栏
手把手带你刷题