面试经典 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热题100--416. 分割等和子集--中等
算法·leetcode·职场和发展
芒克芒克11 小时前
Java集合框架总结(面试八股)
java·开发语言·面试
顽强卖力11 小时前
第二章:什么是数据分析师?
笔记·python·职场和发展·学习方法
hqyjzsb12 小时前
从爱好到专业:AI初学者如何跨越CAIE认证的理想与现实鸿沟
大数据·c语言·人工智能·信息可视化·职场和发展·excel·业界资讯
历程里程碑12 小时前
滑动窗口解法:无重复字符最长子串
数据结构·c++·算法·leetcode·职场和发展·eclipse·哈希算法
白兰地空瓶13 小时前
告别 add(1, 2)!通过 JS 柯里化,让你的代码更加优雅
javascript·面试
小兵张健13 小时前
森果云面试经历
面试
youngee1113 小时前
hot100-55有效的括号
算法·leetcode·职场和发展
零雲14 小时前
Java面试:@Component和@Bean的区别是什么
java·开发语言·面试
我命由我1234514 小时前
Photoshop - Photoshop 工具栏(46)渐变工具
经验分享·笔记·学习·ui·职场和发展·学习方法·photoshop