面试经典 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;
    }
}
相关推荐
胡萝卜术4 小时前
力扣5. 最长回文子串
前端·javascript·面试
触底反弹6 小时前
🔥 从零搭建 RAG 知识库:爬虫→分词→向量化→检索,一步都不能错
javascript·人工智能·面试
ychqsq9 小时前
88.归途
经验分享·职场和发展
CoderYanger13 小时前
A.每日一题:3020. 子集中元素的最大数量
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
lvchaoq14 小时前
this指向面试代码输出题目合集
javascript·面试·职场和发展
wuqingshun31415916 小时前
MySQL 如何解决深度分页问题?
java·mysql·面试
weixin_7275356216 小时前
JVM 常见八股面试问答:深入底层原理
jvm·面试·职场和发展
想吃火锅100517 小时前
【leetcode】5.最长回文子串js
算法·leetcode·职场和发展
CoderYanger17 小时前
A.每日一题:1967题+1331题
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
ShineWinsu17 小时前
对于Linux:TCPsocket编程基础的解析
linux·网络协议·tcp/ip·面试·笔试·进程·远程指令