面试经典 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;
    }
}
相关推荐
派大星爱吃猫5 小时前
顺序表算法题(LeetCode)
算法·leetcode·职场和发展
怪兽20147 小时前
Redis常见性能问题和解决方案
java·数据库·redis·面试
怪兽20147 小时前
Android多进程通信机制
android·面试
CptW9 小时前
手撕 Promise 一文搞定
前端·面试
第七种黄昏9 小时前
【前端高频面试题】深入浏览器渲染原理:从输入 URL 到页面绘制的完整流程解析
前端·面试·职场和发展
初听于你10 小时前
深入了解—揭秘计算机底层奥秘
windows·tcp/ip·计算机网络·面试·架构·电脑·vim
啦啦91171411 小时前
提供一些准备Java八股文面试的建议
java·开发语言·面试
无敌的牛11 小时前
C++复习(1)
java·开发语言·面试
程序员杰哥12 小时前
UI自动化测试实战:从入门到精通
自动化测试·软件测试·python·selenium·测试工具·ui·职场和发展
9号达人12 小时前
if-else 优化的折中思考:不是消灭分支,而是控制风险
java·后端·面试