面试经典 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;
    }
}
相关推荐
超级无敌暴龙兽1 天前
和我一起刷面试题呀
前端·面试
我叫黑大帅1 天前
TypeScript 6.0 弃用选项错误 TS5101 解决方法
javascript·后端·面试
蒸汽求职1 天前
破局“无效互面”:跨国大厂视角的工业级 Mock Interview 价值解析
缓存·面试·职场和发展·金融·notion
Cosolar1 天前
Agent Skills 深度解析:AI 编码代理的工程化生产级工作流引擎
人工智能·面试·开源
环流_1 天前
多线程1(面试题--常见的线程创建方式)
java·开发语言·面试
掘金安东尼1 天前
本周前端与 AI 技术情报|前端下一步 #462
前端·javascript·面试
水木流年追梦1 天前
CodeTop 热门题目汇总hot300题
算法·leetcode·职场和发展
小灵吖1 天前
不懂 exec 不好意思说会 Linux
后端·面试
玛丽莲茼蒿1 天前
Leetcode hot100 买卖股票的最佳时机【简单】
算法·leetcode·职场和发展
ShineWinsu1 天前
对于Linux:进程间通信IPC(命名管道)的解析
linux·c++·面试·笔试·进程·ipc·命名管道