力扣 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;
    }
}
相关推荐
点云侠21 小时前
基于选权迭代法的空间平面拟合
线性代数·算法·平面
AndrewHZ21 小时前
【图像处理基石】VR的眩晕感是如何产生的?
图像处理·算法·计算机视觉·vr·cv·立体视觉·眩晕感
智算菩萨21 小时前
【Python基础】排序算法的深度解析与实践应用:从理论到性能优化的全面指南
算法·性能优化·排序算法
爱学大树锯21 小时前
【23 题(有效的括号序列)】
算法
sin_hielo1 天前
leetcode 3075(排序+贪心)
数据结构·算法·leetcode
wuguan_1 天前
C#种更高级的文件处理
算法·c#
nono牛1 天前
实战项目:设计一个智能温控服务
android·前端·网络·算法
H_BB1 天前
LRU缓存
数据结构·c++·算法·缓存
白帽黑客-晨哥1 天前
Web安全中SQL注入绕过WAF的具体手法和实战案例
sql·安全·web安全·职场和发展·渗透测试
历程里程碑1 天前
LeetCode热题11:盛水容器双指针妙解
c语言·数据结构·c++·经验分享·算法·leetcode·职场和发展