面试经典 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;
    }
}
相关推荐
ShineWinsu3 小时前
对于JavaScript:初识JavaScript以及输入输出
java·开发语言·前端·javascript·css·面试·html
桃桃乌龙_3 小时前
RAG 深度解析:让大模型学会“开卷考试“的知识外挂
人工智能·面试
埃伊蟹黄面3 小时前
面试常问题目 —— STL
c++·面试·职场和发展·stl
2501_933670793 小时前
2027校招定价分析面试准备:应用统计学、SQL与业务判断如何结合
面试·职场和发展
David猪大卫4 小时前
【C++修炼】STL容器—模板进阶:非类型模板参数、模板特化、模板分离编译
c语言·开发语言·c++·经验分享·笔记·学习·面试
美味蛋炒饭.4 小时前
java八股面试(2)
面试·职场和发展
CesareCheung4 小时前
高级软件测试工程师面试锦集
面试·单元测试·压力测试
虚无的纽扣6 小时前
【力扣刷题】第五天:将 x 减到 0 的最小操作数、最大连续1的个数 III
算法·leetcode·职场和发展
子林super19 小时前
MySQL三大日志(binlog、redo log和undo log)详解
面试