力扣 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;
    }
}
相关推荐
晓纪同学14 小时前
EffctiveC++_第三章_资源管理
开发语言·c++·算法
水云桐程序员14 小时前
C语言编程基础,输入与输出
c语言·开发语言·算法
ZPC821014 小时前
MoveIt Servo 与自己编写的 Action Server 通信
人工智能·算法·机器人
jllllyuz14 小时前
采用核函数的极限学习机(KELM)MATLAB实现
算法
apcipot_rain14 小时前
【天梯赛】2026天梯赛模拟赛——题解
开发语言·c++·算法·蓝桥杯·天梯赛
.柒宇.15 小时前
力扣hot100之最大子数组和(Java版)
数据结构·算法·leetcode
黎阳之光15 小时前
非视距·自愈·广覆盖|黎阳之光1.4&5.8GHz宽带自愈网无线基站,重构工业级无线通信
大数据·人工智能·算法·安全·数字孪生
llilian_1615 小时前
铷原子频率标准 以时频基准破局,为计量校准赋能 时基铷钟
网络·功能测试·单片机·嵌入式硬件·测试工具·算法
6Hzlia15 小时前
【Hot 100 刷题计划】 LeetCode 131. 分割回文串 | C++ 回溯算法基础切割法
c++·算法·leetcode
美式请加冰15 小时前
子序列问题
数据结构·算法·leetcode