加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
07_移除元素.html 898 Bytes
一键复制 编辑 原始数据 按行查看 历史
Sakana 提交于 2022-06-23 10:42 . init
<script>
// 标签:拷贝覆盖
// 主要思路是遍历数组 nums,每次取出的数字变量为 num,同时设置一个下标 ans
// 在遍历过程中如果出现数字与需要移除的值不相同时,则进行拷贝覆盖 nums[ans] = num,ans 自增 1
// 如果相同的时候,则跳过该数字不进行拷贝覆盖,最后 ans 即为新的数组长度
// 这种思路在移除元素较多时更适合使用,最极端的情况是全部元素都需要移除,遍历一遍结束即可
// 时间复杂度:O(n)O(n),空间复杂度:O(1)O(1)
/**
* @param {number[]} nums
* @param {number} val
* @return {number}
*/
var removeElement = function(nums, val) {
let ans = 0
for(const num of nums){
if(num !== val){
nums[ans] = num
ans++
}
}
return nums.slice(0,ans)
};
console.log(removeElement([3,2,2,3],3));
</script>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化