力扣 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;
    }
}
相关推荐
Xの哲學几秒前
Linux内核数据结构:设计哲学与实现机制
linux·服务器·算法·架构·边缘计算
秋深枫叶红1 分钟前
嵌入式第二十七篇——数据结构——栈
c语言·数据结构·学习·算法
灵犀坠3 分钟前
前端面试&项目实战核心知识点总结(Vue3+Pinia+UniApp+Axios)
前端·javascript·css·面试·职场和发展·uni-app·html
稚辉君.MCA_P8_Java7 分钟前
Gemini永久会员 Java 返回最长有效子串长度
java·数据结构·后端·算法
Swift社区20 分钟前
LeetCode 440 - 字典序的第 K 小数字
算法·leetcode·职场和发展
youngee1121 分钟前
hot100-42二叉树的右视图
算法
CoovallyAIHub24 分钟前
如何让机器看懂视觉世界?从图像匹配理解环境开始
深度学习·算法·计算机视觉
Mxsoft61934 分钟前
某次PMU数据不同步,动态时钟补偿算法救场!
算法
中國龍在廣州35 分钟前
李飞飞最新思考:语言模型救不了机器人
人工智能·深度学习·算法·语言模型·自然语言处理·chatgpt·机器人
deepdata_cn37 分钟前
时序性步态数据处理的RNN及LSTM算法
rnn·算法·lstm