面试经典 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;
    }
}
相关推荐
小张贼嚣张22 分钟前
【面试通关】大数据开发高频SQL面试题(含详细解析)——in/exists、having/where、排序函数等核心考点
大数据·sql·面试
C雨后彩虹24 分钟前
最小矩阵宽度
java·数据结构·算法·华为·面试
Elias不吃糖29 分钟前
LeetCode-44 回溯解法
算法·leetcode·职场和发展
仟濹30 分钟前
【算法打卡day25(2026-03-17 周二)今日算法:「回溯算法」】1-力扣17-电话号码的字母组合 2-力扣39-组合总和 3-力扣40-组合总和II
算法·leetcode·职场和发展
2301_800895101 小时前
2023蓝桥杯B组初赛--备战蓝桥杯版h
职场和发展·蓝桥杯
独自破碎E1 小时前
【面试真题拆解】Java文件操作的异常类型与受检_非受检异常
java·面试·职场和发展
程序员小远11 小时前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
哈里谢顿12 小时前
agnes0317面试总结
面试
哈里谢顿12 小时前
golang常见面试题总结
面试·go
AI淇橦学14 小时前
零基础学 Agent :拆解一个 Agent 的「零件清单」——8 个模块逐一讲透 第 2 期
面试