力扣 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;
    }
}
相关推荐
93596几秒前
机考31 翻译25 单词18
c语言·算法
每天要多喝水23 分钟前
单调栈Day36:接雨水
算法
AI科技星34 分钟前
时空的几何本源与物理现象的建构:论统一场论的宇宙二元论与观察者中心范式
人工智能·线性代数·算法·矩阵·数据挖掘
CelestialYuxin1 小时前
A.R.I.S.系统:YOLOx在破碎电子废料分拣中的新探索
人工智能·深度学习·算法
_ziva_1 小时前
YOLO 目标检测算法深度解析:从原理到实战价值
算法·yolo·目标检测
Jason_Honey21 小时前
【蚂蚁金服Agent算法岗一面】
人工智能·算法·自然语言处理·面试
weixin_477271691 小时前
《老子》一书作者“李耳”简介
算法·图搜索算法
智算菩萨1 小时前
交错多模态内容生成:从“单张图“到“图文混排长文“的创作范式变革
人工智能·算法·aigc
Flying pigs~~2 小时前
机器学习之KNN算法
算法·机器学习·大模型·knn·k近邻算法·大数据处理
Navigator_Z2 小时前
LeetCode //C - 962. Maximum Width Ramp
c语言·算法·leetcode