面试经典 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;
    }
}
相关推荐
独角鲸网络安全实验室2 小时前
Java常见面试题及答案汇总(2025最新版)
java·安全·面试·面试题·考试·考试题·面试攻略
胖咕噜的稞达鸭3 小时前
总结面试经验TCP和UDP的区别,TCP慢启动机制,拥塞控制,Linux指令,DNS的理解,TLS握手流程
tcp/ip·面试·udp
啊我不会诶4 小时前
十三届蓝桥杯省赛A组 选数异或
职场和发展·蓝桥杯
y = xⁿ5 小时前
小林coding:HashMap的原理,ConcurrentHashMap实现逻辑,1.8并发是如何超越1.7的
java·面试·hash
GISer_Jing5 小时前
前端架构师视角:Electron 知识框架全解析(含实战+面试)
前端·面试·electron
jimy15 小时前
阅读改变生活
职场和发展·生活
不爱吃炸鸡柳5 小时前
[特殊字符]C/C++内存管理深度解剖:从内存布局到new/delete底层,吃透面试必考核心
c语言·c++·面试
故事和你915 小时前
蓝桥杯-2025年C++B组国赛
开发语言·软件测试·数据结构·c++·算法·职场和发展·蓝桥杯
Lzh编程小栈6 小时前
数据结构与算法之队列深度解析:循环队列+C 语言硬核实现 + 面试考点全梳理
c语言·开发语言·汇编·数据结构·后端·算法·面试
明灯伴古佛7 小时前
面试:什么是可重入性?为什么 synchronized 是可重入锁?
java·jvm·面试