力扣 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;
    }
}
相关推荐
做怪小疯子15 小时前
LeetCode 热题 100——二叉树——翻转二叉树
算法·leetcode·职场和发展
报错小能手16 小时前
数据结构 带头节点的双向循环链表
数据结构·算法·链表
Yolo_TvT16 小时前
数据结构:算法复杂度
数据结构·算法
Hacker_xingchen16 小时前
性能测试如何定位分析性能瓶颈?
自动化测试·软件测试·职场和发展
OKkankan16 小时前
多态概念及使用
开发语言·数据结构·c++·算法
nn在炼金16 小时前
FlashAttention 1 深度解读:原理、价值、应用与实战
人工智能·算法
WHS-_-202216 小时前
Channel Estimation for mmWave High-Mobility Systems With 5G New Radio OFDM (I)
算法·5g
.格子衫.16 小时前
026动态规划之跨步DP——算法备赛
算法·动态规划
roman_日积跬步-终至千里16 小时前
【模式识别与机器学习(7)】主要算法与技术(下篇:高级模型与集成方法)之 扩展线性模型(Extending Linear Models)
人工智能·算法·机器学习
做怪小疯子16 小时前
LeetCode 热题 100——二叉树——二叉树的最大深度
算法·leetcode·职场和发展