面试经典 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;
    }
}
相关推荐
Moment8 小时前
如果你在做 RAG,可能会需要 pdf-inspector
前端·后端·面试
卷福同学14 小时前
第一次当面试官有感
后端·面试
怕浪猫14 小时前
顶级模型一句话,AI 写出了能玩的 QQ飞车
前端·面试·github
呃呃呃呃ex14 小时前
9. TypeScript:从类型系统到工程实践
前端·面试
Blanche150015 小时前
Webpack 构建流程解析
javascript·面试
我叫黑大帅15 小时前
为了知道计算机为什么选择了二进制,我做了这些……
面试·程序员·计算机组成原理
怕浪猫15 小时前
DeepSeek Harness 系列图解
面试·前端框架·node.js
double_face15 小时前
AgentScope 2.0 源码解析系列(Java 版)|第 3 篇:State 模块,Agent 靠什么记住这轮对话
后端·面试
leavesleo15 小时前
KV Cache 压到 4bit 之后:SGLang 在 Blackwell 上的 1.78 倍上下文和 +78% 解码
面试
用户68026590511915 小时前
企业电脑统一管理怎么做?2026企业终端统一管理方法与工具推荐
javascript·后端·面试