面试经典 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;
    }
}
相关推荐
Cosolar9 小时前
LlamaIndex 文档解析与分块策略深度解析
人工智能·面试·架构
kyriewen11 小时前
我读了一遍 Babel 编译后的 async/await,终于搞懂了它的原理(附 20 行手写实现)
前端·javascript·面试
小欣加油13 小时前
leetcode2574 左右元素和的差值
数据结构·c++·算法·leetcode·职场和发展
zzz_236814 小时前
【RabbitMQ】面试系列 · 第三期:从线上故障到架构选型
面试·架构·rabbitmq
user732639210047814 小时前
借助AI再次理解三次握手和四次挥手
网络协议·面试
千寻girling14 小时前
一周没跑步了 ,今日跑步 5KM , 哑铃+健身 20min , 俯卧撑 30 个 ;
数据结构·c++·python·算法·leetcode·职场和发展·线性回归
zzz_236819 小时前
【Spring】面试突击系列(六):Spring 工程实践与面试综合
java·spring·面试
牛油果子哥q20 小时前
【C++ this指针】C++ this指针深度精讲:this底层本质、存储位置、调用机制、const this指针、空指针调用、面试坑点与工程实战
开发语言·c++·面试
用户479492835691520 小时前
盛大集团面经(专升本毕业 9 个月,99%代码靠 AI 写)
面试
Elias不吃糖20 小时前
AI Resume Forge:基于 LangGraph 的 AI 简历优化与模拟面试平台
java·人工智能·面试·agent开发