面试经典 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;
    }
}
相关推荐
众人皆醒我独醉11 小时前
Pod 一直 Terminating,死活删不掉?三个凶手,每一个你都意想不到
面试·kubernetes
凯瑟琳.奥古斯特13 小时前
力扣1009补码解法C++实现
开发语言·c++·算法·leetcode·职场和发展
KaifuZeng14 小时前
通信与接口协议面试十、PCIe
单片机·嵌入式硬件·面试·通信与接口协议
三月不知肉味y14 小时前
2026-07-05-JAVA面试场景题训练
java·开发语言·面试
qzhqbb17 小时前
字节面试分享复盘
面试·职场和发展
凯瑟琳.奥古斯特18 小时前
力扣1008:前序重建BST
开发语言·c++·算法·leetcode·职场和发展
未秃头的程序猿18 小时前
虚拟线程用了一年,我真香了——10倍吞吐量是真实存在的
java·后端·面试
帅次18 小时前
Android 高级工程师面试:Flow 与状态流 近1年高频追问 22 题
android·面试·职场和发展
贺国亚19 小时前
Harness-架构原理与工程实践
面试
前端双越老师19 小时前
我多年积累的 100+ 简历优化经验,整理成了 Skill
面试·agent