力扣 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;
    }
}
相关推荐
z2005093013 小时前
今日算法(二叉树)
数据结构·c++·算法
南境十里·墨染春水13 小时前
八大排序算法 - 基数排序
算法·排序算法
老四啊laosi13 小时前
[滑动窗口] 12. 将 x 减到 0 的最小操作数
算法·leetcode·将 x 减到 0 的最小操作数
一条大祥脚13 小时前
Codeforces Round 1098 (Div. 2)
算法·深度优先
时空自由民.13 小时前
平衡车PID控制系统(豆包版本)
算法
sno_guo13 小时前
直播抠图技术100谈之25---调色中曲线是最优解
人工智能·算法·机器学习·直播·内容运营·obs抠图·直播技术
故事和你9113 小时前
洛谷-【图论2-2】最短路1
开发语言·数据结构·c++·算法·动态规划·图论
Simple-Soft13 小时前
指针的高级应用与技巧 - C语言的灵魂
c语言·数据结构·算法
南宫萧幕13 小时前
Simulink 从零搭建 HEV ECMS 环境:模块解析、排坑指南与智能算法接口预留
人工智能·算法·matlab·汽车·控制
子豪-中国机器人13 小时前
词云与条形码答案
算法