力扣 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;
    }
}
相关推荐
ahadee15 分钟前
蓝桥杯每日真题 - 第18天
c语言·vscode·算法·蓝桥杯
我明天再来学Web渗透19 分钟前
【SQL50】day 2
开发语言·数据结构·leetcode·面试
地平线开发者1 小时前
CPU& 内存加压工具 stress-ng 介绍
算法·自动驾驶
XY.散人1 小时前
初识算法 · 分治(2)
算法
DanielYQ1 小时前
LCR 001 两数相除
开发语言·python·算法
召木1 小时前
C++小白实习日记——Day 2 TSCNS怎么读取当前时间
c++·职场和发展
冉佳驹1 小时前
数据结构 ——— 希尔排序算法的实现
c语言·数据结构·算法·排序算法·希尔排序
St_Ludwig1 小时前
C语言 蓝桥杯某例题解决方案(查找完数)
c语言·c++·后端·算法·游戏·蓝桥杯
是糖不是唐1 小时前
代码随想录算法训练营第五十三天|Day53 图论
c语言·数据结构·算法·图论
小叶lr1 小时前
idea 配置 leetcode插件 代码模版
java·leetcode·intellij-idea