面试经典 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;
    }
}
相关推荐
寂静or沉默18 小时前
Java程序员技术面试:如何清晰描述项目难点?逻辑模板!Java的原因与解决方案最新发布!
java·开发语言·面试
庞轩px18 小时前
模拟面试回答第十四问:双亲委派模型
jvm·面试·职场和发展·tomcat·类加载·类加载器·双亲委派模型
Mr_Xuhhh19 小时前
LeetCode 热题 100 刷题笔记:数组与排列的经典解法(续)
算法·leetcode·职场和发展
小雷君19 小时前
SpringBoot 接口开发5个高频踩坑总结
java·spring boot·后端·面试
打瞌睡的朱尤19 小时前
3.25蓝桥杯训练
职场和发展·蓝桥杯
AI成长日志19 小时前
【笔面试算法学习专栏】堆与优先队列专题:数组中的第K个最大元素与前K个高频元素
学习·算法·面试
Cosolar20 小时前
AgentScope-Java ReActAgent 代码实现讲解
人工智能·后端·面试
_日拱一卒21 小时前
LeetCode:和为K的子数组
算法·leetcode·职场和发展
Sailing21 小时前
🚨别再滥用 useEffect 了!90% React Bug 的根源就在这
前端·javascript·面试
河马老师21 小时前
写这需求快崩溃了,幸好我会装饰器模式
前端·javascript·面试