面试经典 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;
    }
}
相关推荐
せいしゅん青春之我2 小时前
【JavaEE进阶】JVM-面试中的高频考点1
java·网络·jvm·笔记·面试·java-ee
Cyan_RA94 小时前
操作系统面试题 — Linux中如何查看某个端口有没有被占用?
linux·后端·面试
飞哥的AI笔记4 小时前
Instant模式和Thinking模式的技术差异是什么?分别适用什么场景?
面试·ai编程
T___T5 小时前
深入浅出:JavaScript 字符串反转的 6 种解法与面试技巧
javascript·面试
我命由我123455 小时前
Excel - Excel 找回意外关闭的未保存的文档
学习·职场和发展·excel·求职招聘·职场发展·运维开发·学习方法
9号达人5 小时前
@NotBlank 不生效报错 No validator could be found:Hibernate Validator 版本匹配指北
后端·面试·程序员
踏浪无痕5 小时前
6张表、14步业务逻辑,Mall订单事务凭什么比你的3步事务还稳?
spring boot·spring·面试
Ka1Yan5 小时前
[数组] - LeetCode 704. 二分查找
java·开发语言·算法·leetcode·职场和发展
一起养小猫12 小时前
《半小时漫画计算机》读后感:从入门到构建知识体系
职场和发展·学习方法·改行学it
therese_1008615 小时前
面试试试试试试题-答
面试