面试经典 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;
    }
}
相关推荐
Moment38 分钟前
为什么市面上的 coding agent 大多数都基于Nodejs?
前端·后端·面试
蒸蒸yyyyzwd1 小时前
面经学习笔记
c++·面试·八股
麻辣布丁1 小时前
java基础篇面试模拟
面试·职场和发展
程序员清风1 小时前
为什么不推荐走Agent开发?
java·后端·面试
黄敬峰3 小时前
一文搞懂 LangGraph:从单 Agent 到多 Agent 协作的进化
面试
leo_messi943 小时前
面试知识点梳理及相关面试题(十六)-- 分布式设计
分布式·面试·职场和发展
David猪大卫4 小时前
【C++修炼】异常
开发语言·c++·经验分享·笔记·学习·考研·面试
再吃一根胡萝卜4 小时前
05 · Agent 编排:LangGraph 状态图与降级内核
面试
再吃一根胡萝卜4 小时前
01 · 开篇:需求分析与技术选型
面试
再吃一根胡萝卜4 小时前
06 · 工具调用:Text2SQL 与四层护栏
面试