面试经典 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;
    }
}
相关推荐
memcpy04 小时前
LeetCode 2615. 等值距离和【相同元素分组+前缀和;考虑距离和的增量】中等
算法·leetcode·职场和发展
alphaTao5 小时前
LeetCode 每日一题 2026/4/20-2026/4/26
算法·leetcode·职场和发展
愚者游世8 小时前
variadic templates(可变参数模板)各版本异同
开发语言·c++·程序人生·面试
忆往wu前8 小时前
一文通透 Vue动态组件体系:插槽|数据监听|组件通信|动态切换|缓存—闭环
前端·面试
Cosolar8 小时前
大模型应用开发工程师 · 学习路线(完整技术栈版)
人工智能·面试·架构
AC赳赳老秦9 小时前
OpenClaw实战案例:用Agent实现每日工作日报自动生成+发送
人工智能·python·职场和发展·eclipse·github·deepseek·openclaw
haina20199 小时前
海纳AI正式发布“面试Agent”——实现千岗千面与人机共管的智面新纪元
人工智能·面试·职场和发展
兩尛10 小时前
c++面试常问1
jvm·c++·面试
兩尛10 小时前
c++面试常问2
开发语言·c++·面试
逻辑驱动的ken12 小时前
Java高频面试考点场景题13
java·开发语言·jvm·面试·求职招聘·春招