面试经典 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;
    }
}
相关推荐
用户849137175471635 分钟前
【技术面试高频】MySQL 存储 IP 地址:你还在用 VARCHAR?
mysql·面试
Rain的Java大神之路1 小时前
Java 三层架构,90% 的人只答对一半:Controller 不是瘦,Service 不是透传,Dao 不是只写 SQL
java·后端·面试
我命由我123451 小时前
准入类与水平类职业资格
笔记·学习·职场和发展·产品运营·求职招聘·职场发展·产品经理
怕浪猫1 小时前
前端转全栈最低成本的技术栈选择
前端·javascript·面试
考研保研资料分享2 小时前
2022护理保研浙江大学:湘雅PICOS追问、健康宣教口译与科研准备
面试
程序员Sunday11 小时前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
小 黄 鸡12 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
程序员Sunday17 小时前
ES Module 和 CommonJS 有什么区别?循环依赖时会发生什么?
前端·javascript·面试
溯原的技术笔记17 小时前
JavaScript 闭包
面试
无敌贵点大王17 小时前
嵌入式软件面试经(自用)
c语言·stm32·单片机·学习·mongodb·面试·职场和发展