面试经典 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;
    }
}
相关推荐
玉宇夕落14 小时前
git 指令简单学习
面试
ychqsq14 小时前
95.归位
经验分享·职场和发展
小poop14 小时前
算法复杂度:从入门到面试必备
算法·面试·职场和发展
liang_jy15 小时前
内存管理(四)—— 传统物理内存非连续分配管理方式
面试·操作系统
面汤放盐16 小时前
把一面面试总结做成一个 Skill:重复的事,就别每次都重写
面试·skill
网安老伯17 小时前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展
liang_jy1 天前
内存管理(二)—— 覆盖与交换
面试·操作系统
触底反弹1 天前
Vibe Coding 不写 Git,等于悬崖边飙车
人工智能·git·面试
liang_jy1 天前
内存管理(一)—— 内存管理的概念
面试·操作系统
叩码以求索1 天前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展