数组:移除元素

参考资料:代码随想录

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

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;
    }
}
相关推荐
jyyyx的算法博客12 小时前
LeetCode 面试题 16.22. 兰顿蚂蚁
算法·leetcode
kesifan12 小时前
JAVA的线程的周期及调度
java·开发语言
李少兄12 小时前
解决 Spring Boot 中 YAML 配置文件的 `ArrayIndexOutOfBoundsException: -1` 异常
java·spring boot·后端
TL滕12 小时前
从0开始学算法——第五天(初级排序算法)
数据结构·笔记·学习·算法·排序算法
Q741_14712 小时前
C++ 高精度计算的讲解 模拟 力扣67.二进制求和 题解 每日一题
c++·算法·leetcode·高精度·模拟
uup12 小时前
Java 多线程环境下的资源竞争与死锁问题
java
夏乌_Wx12 小时前
练题100天——DAY19:含退格的字符串+有序数组的平方
算法
Ayanami_Reii13 小时前
进阶数据结构应用-线段树扫描线
数据结构·算法·线段树·树状数组·离散化·fenwick tree·线段树扫描线
LiuYaoheng13 小时前
【Android】RecyclerView 刷新方式全解析:从 notifyDataSetChanged 到 DiffUtil
android·java
leoufung13 小时前
LeetCode 98 Validate Binary Search Tree 深度解析
算法·leetcode·职场和发展