面试经典 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 分钟前
k6面试高频问题
面试·职场和发展·k6
风止何安啊16 分钟前
从 “牵线木偶” 到 “独立个体”:JS 拷贝的爱恨情仇(浅拷贝 VS 深拷贝)
前端·javascript·面试
漫天黄叶远飞18 分钟前
地址与地基:在 JavaScript 的堆栈迷宫里,重新理解“复制”的哲学
前端·javascript·面试
月明长歌1 小时前
【码道初阶】一道经典的简单题:Boyer-Moore 多数投票算法|多数元素问题(LeetCode 169)
算法·leetcode·职场和发展
佩奇大王2 小时前
蓝桥杯 P8772
职场和发展·蓝桥杯
CoderYanger3 小时前
动态规划算法-简单多状态dp问题:12.打家劫舍Ⅱ
开发语言·算法·leetcode·职场和发展·动态规划·1024程序员节
敲敲了个代码3 小时前
从零实现一个「就地编辑」组件:深入理解 OOP 封装与复用的艺术
前端·javascript·学习·面试·前端框架
云泽8083 小时前
蓝桥杯枚举算法精讲:从普通枚举到二进制枚举
算法·职场和发展·蓝桥杯
王中阳Go3 小时前
Go后端 vs Go AI应用开发重点关注什么?怎么学?怎么面试?
人工智能·面试·golang
程序员小胖4 小时前
每天一道面试题之架构篇|异步确保型事务——消息队列驱动的分布式事务解决方案
分布式·面试