面试经典 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;
    }
}
相关推荐
tgethe1 小时前
java并发——1
java·开发语言·面试
前端摸鱼匠7 小时前
【AI大模型春招面试题11】什么是模型的“涌现能力”(Emergent Ability)?出现条件是什么?
人工智能·算法·ai·自然语言处理·面试·职场和发展
swipe8 小时前
把 JavaScript 原型讲透:从 `[[Prototype]]`、`prototype` 到 `constructor` 的完整心智模型
前端·javascript·面试
23.13 小时前
【Java】char字符类型的UTF-16编码解析
java·开发语言·面试
NAGNIP14 小时前
面试官:正则化都有哪些经典的方法?
算法·面试
英俊潇洒美少年15 小时前
#React 16/17/18/19 超精简速记版(面试前5分钟背完)
前端·react.js·面试
程序员buddha15 小时前
Java面试八股文高级篇
java·jvm·面试
萍萍学习15 小时前
蓝桥杯JAVA-3
java·职场和发展·蓝桥杯