面试经典 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;
    }
}
相关推荐
老苗项目实战10 小时前
Java工程师高频面试题(基于近一年的真实面试记录整理)
java·开发语言·面试·预见猿份·老苗项目实战
haon112214 小时前
海外信贷的策略全生命周期:从准入到还款的本地化布防
大数据·开发语言·深度学习·面试·职场和发展·产品经理
蒸蒸yyyyzwd15 小时前
cpp 选手备战秋招学习笔记 day32
c++·笔记·面试
麻辣布丁15 小时前
java集合篇面试模拟
java·开发语言·面试
晚安日记wanna17 小时前
分布式事务 6 连问从 Seata AT 到本地消息表落地
面试·架构
晚安日记wanna18 小时前
简历写精通浏览器原理一问 URL 到渲染直接哑火...
前端·面试
garmin Chen18 小时前
MySQL精简面试题
数据库·后端·mysql·面试
晚安日记wanna18 小时前
四年前端被问 Code Review90人只看得懂空格和命名
前端·面试
letisgo518 小时前
JAVA 高级进阶10篇《消息队列实战:RocketMQ/Kafka选型与“不丢不重有序“三连解》
java·面试·kafka·消息队列·rocketmq
顶点多余19 小时前
9.10日面试遇到问题总结
面试·职场和发展