面试经典 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;
    }
}
相关推荐
sjsjs1114 小时前
力扣3558. 给边赋权值的方案数 I
算法·leetcode·职场和发展
嵌入式ZYXC14 小时前
第8篇:《面试题:模拟地和数字地为什么要分开?怎么接?》
stm32·单片机·嵌入式硬件·面试·职场和发展
plainGeekDev14 小时前
算法刷题笔记:一维DP没那么难,状态想清楚就赢了一半
java·算法·面试
Sam_Deep_Thinking15 小时前
java中的class到底是个什么东西?
java·开发语言·面试
mqiqe15 小时前
面试题-MyBatis 面试篇
java·面试·mybatis
古希腊掌管代码的神THU16 小时前
【清华代码熊】Agent Harness 工程实践之(1): Context管理
人工智能·深度学习·自然语言处理·面试
mqiqe17 小时前
面试题-Zookeeper 面试篇
分布式·zookeeper·面试
程序员晨曦17 小时前
深入浅出JVM内存结构
jvm·面试·职场和发展
AC赳赳老秦17 小时前
OpenClaw+AWS 深度应用:自动生成 CloudFormation 模板、批量管理 S3 存储桶
java·python·面试·职场和发展·php·deepseek·openclaw
Zik----17 小时前
保研英语面试
面试·职场和发展