网站怎么添加外链,营销型网站主机,贸易公司取名字大全,绘画做动作的网站题目描述
给你一个数组 nums 和一个值 val#xff0c;你需要原地移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k#xff0c;要通过此题#xff0c;您需要执行以下操作#xff1…题目描述
给你一个数组 nums 和一个值 val你需要原地移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k要通过此题您需要执行以下操作
更改 nums 数组使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。返回 k。
题解
题解一双层for循环 题解二双指针 总结
双指针法是一种常用的编程技巧在处理数组、链表等线性数据结构时非常高效核心思路是利用两个指针协同工作根据不同规则移动指针来解决问题
应用场景常用于数组元素的遍历与筛选比如移除数组中指定元素、寻找满足一定条件的子数组等。原理两个指针起始位置一般相同或有固定间隔朝着同一个方向移动速度可能相同也可能不同。例如在上述移除数组元素的代码里slow 和fast 指针起始都在数组开头fast 快速遍历找到符合留下标准的元素slow 才更新位置二者拉开距离slow 标记着新数组的范围。