数组:移除元素

参考资料:代码随想录

本题思路:通过快慢指针将两次循环减少到一次

java 复制代码
class Solution {
    public int removeElement(int[] nums, int val) {
        //0 1 2 2 2 2 3
        int fast = 0;
        int slow = 0;
        while(fast < nums.length){
            if(nums[fast] != val){
                nums[slow] = nums[fast];
                fast++;
                slow++;
            }else {
                fast++;
            }
        }
        return slow;
    }
}
相关推荐
深邃-8 小时前
【Web安全】-基础环境安装:虚拟机安装,JDK环境安装(1)
java·开发语言·计算机网络·安全·web安全·网络安全·安全架构
小雅痞8 小时前
[Java][Leetcode hard] 135. 分发糖果
java·算法·leetcode
黎阳之光8 小时前
黎阳之光:全域实景立体管控,重构智慧电厂与变电站数字孪生新范式
大数据·人工智能·算法·安全·数字孪生
jwt7939279378 小时前
Spring之DataSource配置
java·后端·spring
嘻嘻哈哈樱桃8 小时前
数据流中的中位数 力扣--160
算法·leetcode·职场和发展
老约家的可汗8 小时前
深入浅出:Map与Set的核心原理与使用场景
数据结构·算法
逻辑驱动的ken8 小时前
Java高频面试场景题07
java·开发语言·面试·职场和发展·求职招聘·春招
j_xxx404_8 小时前
力扣算法题:字符串(最长公共前缀|最长回文子串)
c++·算法·leetcode
承渊政道8 小时前
【递归、搜索与回溯算法】(穷举vs暴搜vs深搜vs回溯vs剪枝:一文讲清概念与用法)
数据结构·c++·算法·决策树·深度优先·剪枝·宽度优先
承渊政道8 小时前
【递归、搜索与回溯算法】(综合练习:一网打尽常见题型分类总结与方法归纳)
c++·算法·决策树·分类·深度优先·哈希算法·宽度优先