面试经典 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;
    }
}
相关推荐
沙漠之主9 小时前
计算机二级考试备考全攻略:从报名到通关
计算机网络·面试
燐妤9 小时前
LangGraph-复习总览
python·ai·面试·agent·学习方法·langgraph
Nil20811 小时前
leetcode 739每日温度
算法·leetcode·职场和发展
ShineWinsu12 小时前
对于Redis:Hash类型的解析
c++·redis·分布式·缓存·面试·hash·哈希表
yuanxi20013 小时前
中国汽车企业欧洲网点扩张:大客户销售的关系力启示
职场和发展·汽车·创业创新·学习方法
一只旭宝14 小时前
C++ 后端开发面试题整理
java·c++·面试
ShineWinsu15 小时前
对于Redis:List类型的解析
数据库·c++·redis·链表·缓存·面试·list
liangshanbo121515 小时前
面试题:AI 对话上下文超限怎么办?
面试·webpack·devops
江华森16 小时前
大模型应用技术-Prompt工程实践 — 学习笔记
面试
Dream it possible!16 小时前
LeetCode_热题100_知识点总结
算法·leetcode·职场和发展