面试经典 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;
    }
}
相关推荐
白露与泡影7 小时前
后端 Java 面试核心八股汇总|高频面试题 + 解析,覆盖基础到进阶
java·开发语言·面试
花间相见8 小时前
【计算基础|MySQL09】索引(下):失效与设计
数据库·后端·面试
前端小万8 小时前
探索副业五个月,最终以放弃告终
前端·后端·面试
学到老活到老9 小时前
CAS:不加锁,AtomicInteger 怎么把计数加对?
面试
职豚求职小程序9 小时前
中国铁塔2027届校招开启,网申怎么投、笔试面试怎么准备?
面试·职场和发展
弈栈录9 小时前
向量化、召回与重排序服务的实现
后端·面试·架构
PBitW10 小时前
行内编辑,前端如何兜底?😭😭😭
前端·面试
怕浪猫12 小时前
3 小时搭一个能用的聊天机器人后端,我用了这套技术栈
后端·面试·github
用户849137175471612 小时前
【技术干货】MySQL联合索引底层原理 | 最左前缀原则详解
mysql·面试
冲冲那年12 小时前
项目整合管理
职场和发展