力扣 LeetCode 27. 移除元素(Day1:数组)

解题思路:

注意:数组只能覆盖,不能删除

erase方法的复杂度为O( n )而不是O( 1 ),因为需要把删除后后面的数组向前移动

方法一:双层for循环暴力

方法二:快慢指针

fast表示新数组的元素

slow表示新数组元素的下标

java 复制代码
class Solution {
    public int removeElement(int[] nums, int val) {
        int slow = 0;
        for (int fast = 0; fast < nums.length; fast++) {
            if (nums[fast] != val) {
                nums[slow] = nums[fast];
                slow++;
            }
        }
        return slow;
    }
}
相关推荐
u01092727114 小时前
C++中的策略模式变体
开发语言·c++·算法
2501_9418372614 小时前
停车场车辆检测与识别系统-YOLOv26算法改进与应用分析
算法·yolo
六义义15 小时前
java基础十二
java·数据结构·算法
四维碎片15 小时前
QSettings + INI 笔记
笔记·qt·算法
Tansmjs15 小时前
C++与GPU计算(CUDA)
开发语言·c++·算法
独自破碎E16 小时前
【优先级队列】主持人调度(二)
算法
weixin_4454766816 小时前
leetCode每日一题——边反转的最小成本
算法·leetcode·职场和发展
打工的小王16 小时前
LeetCode Hot100(一)二分查找
算法·leetcode·职场和发展
Swift社区17 小时前
LeetCode 385 迷你语法分析器
算法·leetcode·职场和发展
sonadorje17 小时前
svd在图像处理中的应用
算法