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