面试经典 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 小时前
Qt 界面美化实战:QSS 样式表
开发语言·qt·面试
法欧特斯卡雷特6 小时前
Kotlin 新特性抢先看:伴生扩展与伴生块
后端·面试·开源
CoderYanger7 小时前
一轮复习——F.动态规划模型总结(入门篇)
java·开发语言·数据结构·算法·leetcode·职场和发展·动态规划
YonyouHRSaaS7 小时前
2026年10-11月AI面试选择指南:对国内主流AI面试系统进行对比,看看哪个更值得选!
人工智能·面试·职场和发展·hr·ai面试
浅念-8 小时前
动态规划专题:斐波那契数列模型 + 网格路径DP(LeetCode例题全解析)
笔记·算法·leetcode·面试·职场和发展·动态规划·推荐算法
落魄大学生之流水线上谋生计8 小时前
接口测试实习指南:从基础方法到面试与现场难题
面试·职场和发展
程序员清风9 小时前
AI时代建议学点自己真正感兴趣的!
java·后端·面试
Nil2089 小时前
leetcode 279完全平方数
算法·leetcode·职场和发展
(Charon)10 小时前
【C++面试】线程同步机制:互斥锁、条件变量、原子操作与读写锁
开发语言·c++·算法·面试
我命由我1234510 小时前
金融租赁极简理解
经验分享·学习·职场和发展·金融·求职招聘·职场发展·学习方法