面试经典 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;
    }
}
相关推荐
用户47949283569158 小时前
字节Agent开发技术分享—旧会话越聊越笨,新会话又得重讲?我给 Matt Pocock Skill 炼了套《影分身之术》:本体想清楚,分身写代码,完事回来汇报
面试·agent
碳基猿9 小时前
案例|普通内容创作者如何利用 CreBee 打造个人内容创业系统:从一个账号到多平台内容资产矩阵
职场和发展·新媒体运营·创业创新·程序员创富·新媒体矩阵
蒸蒸yyyyzwd11 小时前
cpp 选手准备秋招学习笔记 day10
笔记·面试·求职招聘
蔓越莓11 小时前
Webpack 常用 Loader +手写Loader
前端·面试
蔓越莓12 小时前
性能优化:webpack打包层面优化
前端·面试
面试鸭14 小时前
Anthropic 让 Claude 接了 CI 值班的第一班,人剩下的是写规则和合 PR
后端·面试
码匠许师傅16 小时前
【C++ 面试真题】19. 聊聊 C++ 的迭代器
开发语言·c++·面试
黄敬峰17 小时前
TypeScript 工具类型一次讲透:Pick、Omit、Partial、Record 逐个击破
面试
码匠许师傅17 小时前
【C++ 面试真题】20. 聊聊 C++ 的标准库常用算法
c++·算法·面试
一只叫煤球的猫18 小时前
Spring AI 2.0 源码解析(二):Starter 如何自动装配 ChatClient ?
后端·面试·langchain