💡
原文英文,约500词,阅读约需2分钟。
📝
内容提要
本任务旨在原地移除数组中所有等于val的元素,使用双指针技术遍历数组,保留非val元素,最终返回剩余元素的数量。时间复杂度为O(n),空间复杂度为O(1)。
🎯
关键要点
- 任务目标:原地移除数组中所有等于val的元素。
- 使用双指针技术遍历数组,保留非val元素。
- 时间复杂度为O(n),空间复杂度为O(1)。
- 示例输入:nums = [3, 2, 2, 3], val = 3,输出为2。
- 策略:使用Scout(i)遍历数组,Gatekeeper(k)标记非val元素的位置。
- 代码实现:通过循环检查每个元素,安全地保留非val元素。
- 最终返回剩余元素的数量k。
- 关键要点:原地操作是关键,顺序不重要,边界情况需处理。
➡️