面试经典 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;
    }
}
相关推荐
吴声子夜歌3 小时前
Java面试——Spring Cloud原理及应用(二)
java·spring cloud·面试
黄敬峰4 小时前
一文搞懂 Docker + Dockerfile:从镜像构建到全栈部署
面试
kyriewen8 小时前
我踩了3次同一个坑才明白:JavaScript里比0.1+0.2更隐蔽的5个数字陷阱
前端·javascript·面试
Nil20811 小时前
leetcode 105从前序和中序遍历序列构造二叉树
算法·leetcode·职场和发展
众人皆醒我独醉11 小时前
自动扩缩容:KPA/HPA/KEDA 三条路径
面试·kubernetes·llm
黄敬峰12 小时前
一文搞懂 SQL 建表、索引与约束:博客系统数据库设计实战
面试
测试199814 小时前
接口自动化测试的全面解析与实战指南
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
我叫黑大帅15 小时前
关于没有对生产者做校验的思考
前端·面试·架构
码匠许师傅15 小时前
【C++ 面试真题】聊聊 C++ 的类型特征( type_traits)
java·c++·面试