数组:移除元素

参考资料:代码随想录

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

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;
    }
}
相关推荐
小龙报13 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
wWYy.13 小时前
数据结构:跳表
数据结构
自强的小白14 小时前
重点!起始时间和结束时间与创建时间和修改时间的区别(localdate与LocaldateTIME区别)以及增删改查什么时候设置目前时间(添加和更新员工时)
java
雪的季节14 小时前
Python 线程同步与异步编程 全解析
java·开发语言
吃饱了得干活14 小时前
缓存与数据库一致性:从理论到实战
java·后端·面试
txzrxz14 小时前
数论:排列数、组合数、费马小定理、逆元、同余定理
c++·算法·数论·组合数·费马小定理·逆元·排列数
xqqxqxxq14 小时前
LeetCode Hot100 双指针专项题解笔记
笔记·算法·leetcode
520拼好饭被践踏14 小时前
JAVA+Agent学习day22
java·开发语言·后端·学习
笨蛋不要掉眼泪14 小时前
Java虚拟机:堆的参数配置
java·开发语言·jvm
霸道流氓气质14 小时前
SpringBoot中使用JasperReports 报表引擎 — 介绍、原理与使用实践
java·spring boot·后端