面试经典 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;
    }
}
相关推荐
IT龟苓膏15 小时前
并发深度解析】硬核手撕 ForkJoinPool + WorkStealing + CompletableFuture 底层源码与大厂面试演练
面试·职场和发展
林希_Rachel_傻希希16 小时前
学React治好了我的焦虑症,1小时速通React 前20分钟。
前端·javascript·面试
西安邮电大学18 小时前
分治算法详细讲解
java·后端·其他·算法·面试
葡萄皮sandy20 小时前
NestJS + Mongoose 全栈开发面试总结
mongodb·面试
心软小念20 小时前
2026软件测试高频面试题
软件测试·面试·职场和发展
西安邮电大学21 小时前
有关栈的经典算法题
java·后端·其他·算法·面试
AI人工智能+电脑小能手1 天前
【大白话说Java面试题 第112题】【并发篇】第12题:AQS 中节点的入队时机有哪些?
java·开发语言·面试
西安邮电大学1 天前
有关数组的经典算法题
java·后端·其他·算法·面试
触底反弹1 天前
一文彻底搞懂 JavaScript 栈和队列(建议收藏)
javascript·算法·面试
AI人工智能+电脑小能手1 天前
【大白话说Java面试题 第113题】【并发篇】第13题:说一下乐观锁的优点和缺点?
java·开发语言·面试