面试经典 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;
    }
}
相关推荐
大龄秃头程序员10 小时前
深入梳理 UIView touch 事件全链路原理与实战
面试
众人皆醒我独醉10 小时前
Token:AI 世界的基本粒子——不是"字",是统计上最优的"字符组合"
后端·面试·llm
古法安卓11 小时前
Android-DeviceStorageMonitorService 流程分析
java·面试·android studio
预知同行11 小时前
从 MCP 到 CLI:AI Agent 工具链的架构演进与实战抉择
前端·面试
黄敬峰11 小时前
从零搞懂React受控与非受控组件——一个Demo串起表单处理全流程
面试
一只齐刘海的猫11 小时前
【Leetcode】乘积最大子数组
算法·leetcode·职场和发展
GitLqr15 小时前
玩转 Dart typedef:不仅是函数别名那么简单
flutter·面试·dart
向阳而生自媒体15 小时前
2026年MBA面试自我介绍怎么说?3分钟/5分钟版本怎么准备?
面试·职场和发展
小南知更鸟15 小时前
【leetcodehot100】leetcode-hot100-20260809更新
算法·leetcode·职场和发展
粥里有勺糖17 小时前
Harness 学习笔记分享(Part 1)
面试·github·agent