力扣 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;
    }
}
相关推荐
载数而行52014 小时前
算法系列2之最短路径
c语言·数据结构·c++·算法·贪心算法
逆境不可逃14 小时前
【除夕篇】LeetCode 热题 100 之 189.轮转数组
java·数据结构·算法·链表
xiaoye-duck15 小时前
《算法题讲解指南:优选算法-滑动窗口》--13 水果成篮
c++·算法
wefg115 小时前
【算法】模运算的技巧
算法
智者知已应修善业15 小时前
【冰雹猜想过程逆序输出】2025-4-19
c语言·c++·经验分享·笔记·算法
编程小白_澄映15 小时前
机器学习——特征工程
人工智能·算法·机器学习
美好的事情能不能发生在我身上15 小时前
Leetcode热题100中的:哈希专题
算法·leetcode·哈希算法
wefg115 小时前
【算法】倍增思想(快速幂)
数据结构·c++·算法
Zik----15 小时前
Leetcode24 —— 两两交换链表中的节点(迭代法)
数据结构·算法·链表
SmartBrain15 小时前
通俗讲解:Agent Skill和智能体的技术概念
人工智能·算法