数组:移除元素

参考资料:代码随想录

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

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;
    }
}
相关推荐
SamDeepThinking7 小时前
CyclicBarrier的底层实现
java·后端·面试
我是人✓7 小时前
SpringMVC异常处理与拦截器实战揭秘
java·开发语言·后端
第六种自由7 小时前
[路飞]_Leetcode 22. 括号生成
javascript·算法·leetcode
isyoungboy8 小时前
事件驱动状态机与循环扫描状态机:两种计算模型的比较研究
算法·状态机
阿狗童鞋8 小时前
SpringSecurity权限认证实战指南
java·后端·spring
行者全栈架构师8 小时前
【鸿蒙心迹】从手机到平板、折叠屏——多端适配自查清单与踩坑实录(HarmonyOS 7.x)
前端·算法·架构
Wang's Blog8 小时前
Java 项目部署之 Docker工具快速入门: 学习路径与命令速查导引
java·学习·docker
Wang's Blog8 小时前
Java 项目部署之 Docker工具快速入门: Docker 镜像仓库
java·docker
longlongzihan8 小时前
LeetCode 24.两两交换链表中的节点:虚拟头结点与指针
算法·leetcode·链表
residual_fan8 小时前
基于控制感知域对抗网络的变工况故障诊断:从控制系统与运行状态协同的角度建立模型
人工智能·算法·数据挖掘·数据分析