面试经典 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 分钟前
实时通信对比,一场MCP协议的技术革命
前端·后端·面试
山栀shanzhi34 分钟前
C/C++之:构造函数为什么不能设置为虚函数?
开发语言·c++·面试
我叫黑大帅2 小时前
受保护的海报图片读取方案 - 在不公开静态资源目录下如何获取静态资源
后端·python·面试
逻辑驱动的ken2 小时前
Java高频面试考点场景题11
java·深度学习·面试·职场和发展·高效学习
Rabitebla3 小时前
【数据结构】动态顺序表实现详解:从原理到接口设计(面试视角)
c语言·开发语言·数据结构·c++·面试·职场和发展
cjzcjl4 小时前
一次面试遇到的问题:灯泡与开关
面试·思考模式
永远不会的CC5 小时前
研0上岸找实习面试经历
python·算法·面试
KobeSacre5 小时前
leetcode 树
算法·leetcode·职场和发展
东北甜妹5 小时前
TCP/IP和VLAN
网络协议·tcp/ip·面试
Yunzenn5 小时前
零基础复现Claude Code(五):终端篇——赋予执行命令的超能力
面试·github