面试经典 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;
    }
}
相关推荐
掘金安东尼30 分钟前
代理式AI,从被动响应到主动执行的技术演进
面试
Java技术小馆3 小时前
InheritableThreadLoca90%开发者踩过的坑
后端·面试·github
诗和远方14939562327344 小时前
iOS 异常捕获原理详解
面试
杜子不疼.5 小时前
【LeetCode 415】—字符串相加算法详解
算法·leetcode·职场和发展
仙俊红5 小时前
LeetCode每日一题,2025-08-21
算法·leetcode·职场和发展
希尔伯特旅馆5 小时前
市值残差Alpha策略
面试
我是哪吒5 小时前
分布式微服务系统架构第167集:从零到能跑kafka-redis实战
后端·面试·github
似水流年流不尽思念5 小时前
Spring 的声明式事务在多线程的场景当中会失效,该怎么解决呢?
后端·spring·面试
天天摸鱼的java工程师5 小时前
OpenFeign 首次调用卡 3 秒?八年老开发扒透 5 个坑,实战优化到 100ms
java·后端·面试