面试经典 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;
    }
}
相关推荐
怕浪猫7 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
Interview Aid11214 小时前
OpenAI SWE 面试流程
面试·职场和发展
我命由我1234515 小时前
Photoshop - Photoshop 使用对齐功能定位元素
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法
飘尘15 小时前
SVG和Canvas,前端里的两支“画笔”,用的时候怎么选择?
前端·javascript·面试
飘尘15 小时前
从"算子"到"AI Infra":大模型背后看不见的那群人在忙什么
人工智能·算法·面试
ychqsq16 小时前
212.涟漪
经验分享·职场和发展
ychqsq16 小时前
213.取舍
经验分享·职场和发展
ShineWinsu16 小时前
对于Redis:主从复制的解析
linux·数据库·c++·redis·缓存·面试·主从复制
夏幻灵16 小时前
每日一题:LeetCode 3:无重复字符的最长子串——滑动窗口思路详解
算法·leetcode·职场和发展
ShineWinsu19 小时前
对于Redis:事务的解析
数据库·redis·mysql·缓存·面试·事务·acid