力扣 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;
    }
}
相关推荐
oscar99912 小时前
软件测试面试全攻略之初级篇
软件测试·面试·职场和发展·初级篇
梨子串桃子_14 小时前
推荐系统学习笔记 | PyTorch学习笔记
pytorch·笔记·python·学习·算法
夏鹏今天学习了吗14 小时前
【LeetCode热题100(83/100)】最长递增子序列
算法·leetcode·职场和发展
情缘晓梦.15 小时前
C语言指针进阶
java·开发语言·算法
北邮刘老师16 小时前
智能体治理:人工智能时代信息化系统的全新挑战与课题
大数据·人工智能·算法·机器学习·智能体互联网
AlenTech16 小时前
155. 最小栈 - 力扣(LeetCode)
算法·leetcode·职场和发展
mit6.82416 小时前
正反两次扫描|单调性cut
算法
Yzzz-F17 小时前
牛客小白月赛127 E
算法
大锦终17 小时前
递归回溯综合练习
c++·算法·深度优先
Keep__Fighting17 小时前
【神经网络的训练策略选取】
人工智能·深度学习·神经网络·算法