力扣 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;
    }
}
相关推荐
一只齐刘海的猫6 分钟前
【Leetcode】 接雨水
java·算法·leetcode
南境十里·墨染春水23 分钟前
讲讲移动语义
算法
西凉的悲伤31 分钟前
Guava类库——Range连续区间
java·算法·guava
菜菜的顾清寒32 分钟前
力扣HOT(100)54多维动态规划-最长公共子序列
算法·leetcode·动态规划
随意起个昵称36 分钟前
线性dp-LIS题目3(合唱队形)
算法
小六学编程42 分钟前
二分查找详解:从普通二分到左右边界
算法·c/c++
wayz1142 分钟前
Volume:PVO(百分比成交量震荡指标)技术指标详解
算法·金融·数据分析·量化交易·特征工程
毕竟是shy哥43 分钟前
PromptHash:基于亲和提示协同学习的自适应哈希检索跨模态算法
学习·算法·哈希算法
甄心爱学习43 分钟前
【项目实训(个人12)】
人工智能·python·算法
团象科技1 小时前
走访近百支出海技术团队后的海外云计算资源选型实操观察
大数据·人工智能·算法