面试经典 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;
    }
}
相关推荐
野犬寒鸦13 小时前
面试常问:什么是TCP连接:虚拟对话通道的奥秘
服务器·网络·后端·tcp/ip·面试·tcpdump
愚者游世13 小时前
<algorithm> 中 remove、remove_if、remove_copy、remove_copy_if 详解
c++·学习·程序人生·职场和发展·visual studio
语戚13 小时前
从 JVM 底层拆解:i++、++i、i+=1、i=i+1 的实现逻辑与坑点
java·开发语言·jvm·面试·自增·指令·虚拟机
野生技术架构师13 小时前
Java面试精选:数据库 + 数据结构 +JVM+ 网络 +JAVA+ 分布式
java·数据库·面试
q1cheng13 小时前
(1)分组统计 + 筛选、(2)自连接去重和(3)子查询方式
面试
张元清13 小时前
每个 React 开发者都需要的 10 个浏览器 API Hooks
前端·javascript·面试
星辰_mya14 小时前
Fork/Join 框架与并行流:CPU 密集型的“分身术”
java·开发语言·面试
ErizJ14 小时前
面试 | gin gorm go-zero
面试·golang·gin·gorm·gozero
白帽子凯哥哥14 小时前
2026年网络安全面试实战指南
网络安全·面试·简历·实战能力
野犬寒鸦14 小时前
面试常问:TCP相关(中级篇)问题原因即解决方案
服务器·网络·后端·面试