面试经典 150 题 ---- 删除排序数组中的重复项

面试经典 150 题 ---- 删除排序数组中的重复项

删除排序数组中的重复项

方法一:双指针

有是一个原地修改的题目,大概率依旧是双指针。

定义 right 表示遍历数组到达的下标位置,left 指针表示下一个不同元素将要填入的下标位置,两个指针初始都指向 1。

java 复制代码
class Solution {
    public int removeDuplicates(int[] nums) {
        int len = nums.length;
        int left = 1, right = 1;
        while (right < len) {
            if (nums[right] != nums[right - 1]) {
                nums[left] = nums[right];
                left ++ ;
            }
            right ++ ;
        }
        return left;
    }
}
相关推荐
Nil20815 小时前
leetcode 416分割等和子集
算法·leetcode·职场和发展
Pniubi15 小时前
Agent开发:记忆系统中向量存储的合理安排
职场和发展
Zelman15 小时前
测试层级与测试类型
后端·面试·测试
考研保研资料分享16 小时前
自动化控制保研经验合辑:上交夏令营、北工大预推免与跨专业面试复盘(2025)
运维·面试·自动化
怕浪猫19 小时前
Agent 工程化面试:从开发到部署的 5 个关键问题
面试·架构·github
用户69190268133920 小时前
LangChain 与 LangGraph:从「链」到「图」,一次讲清它们是什么、什么关系
面试·架构·设计
CoderYanger20 小时前
A.每日一题:856. 括号的分数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
Sam_Deep_Thinking21 小时前
CountDownLatch实现原理
java·后端·面试·程序员
范中勤21 小时前
Python 与 Java:模块、包、对象、反射核心差异总结
java·python·面试·反射·元类
晚风叙码1 天前
MySQL 增删改查(CRUD)完全指南:从入门到面试
数据库·mysql·面试