力扣 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;
    }
}
相关推荐
m0_672703319 小时前
上机练习第49天
数据结构·算法
样例过了就是过了9 小时前
LeetCode热题100 N 皇后
数据结构·c++·算法·leetcode·dfs·深度优先遍历
霖大侠9 小时前
CPAL: Cross-Prompting Adapter With LoRAs forRGB+X Semantic Segmentation
人工智能·深度学习·算法·机器学习·transformer
近津薪荼10 小时前
优选算法——分治(2):快速选择
算法
Z...........10 小时前
(优选算法)斐波那契数列模型
数据结构·算法
zyjyyds11310 小时前
和为0的四元组-双指针法(C语言实现)
c语言·数据结构·算法
炽烈小老头10 小时前
【每天学习一点算法 2026/03/16】电话号码的字母组合
学习·算法
Lee川11 小时前
时空迷宫探险记:从O(1)到O(2^n)的算法进化论
算法·面试
KangJX11 小时前
Matrix获取卡顿堆栈 (Point Stack)
算法·客户端
靠沿11 小时前
【优选算法】专题十三——队列+宽搜(BFS)
算法·宽度优先