面试经典 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;
    }
}
相关推荐
进击的蛋蛋18 小时前
JS对象的遍历
javascript·面试
淡海水18 小时前
C#与常用数据结构源码剖析-全篇导览
开发语言·数据结构·unity·面试·职场和发展·c#
杨航 AI1 天前
** AI 面试算法 50 题清单**,不是单纯的 LeetCode 题号列表,而是按照“**考察概率 × 面试价值 × 你当前准备方向**”排序
算法·leetcode·面试
无我Code1 天前
开发者-2026年中总结
前端·面试·程序员
.道阻且长.1 天前
5.LeetCode算法习题讲解--双指针--有效三角形的个数
算法·leetcode·职场和发展
kyriewen1 天前
今年裁了16万技术人——但字节前端岗反而涨了23%
前端·javascript·面试
众人皆醒我独醉1 天前
训练加速实战:Flash Attention、Gradient Checkpointing 与数据流水线
后端·面试·gpu
Loveyourself1 天前
Claude Code Memory 总体系核心代码逐行解析
面试·agent
王林不想说话1 天前
ES6 到 ES2026 全面进阶指南:新特性、原理、示例与工程落地
前端·javascript·面试
黄敬峰1 天前
TypeScript 必考题:type 和 interface 的区别一次搞懂
面试