面试经典 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;
    }
}
相关推荐
橘子汽水16833 分钟前
Leetcode 230,98:二叉搜索树中第K小的元素,验证二叉搜索树
算法·leetcode·职场和发展
程序员-Benothing1 小时前
Java ForkJoinPool 详解:从分治思想到高性能并行计算
java·开发语言·后端·面试·职场和发展
普通攻击往后拉3 小时前
Leetcode 448. 找到所有数组中消失的数字
算法·leetcode·职场和发展
郝学胜-神的一滴5 小时前
力扣 692:巧用小顶堆高效求解前K个高频单词
java·数据结构·python·程序人生·算法·leetcode·职场和发展
ychqsq5 小时前
103.样书
经验分享·职场和发展
SamDeepThinking6 小时前
如何维持缓存的一致性?
后端·面试·程序员
程序员-Benothing7 小时前
Java集合:List实现类深度对比
java·开发语言·后端·面试·list
HeiSenBerg1 天前
Android 网络协议全解析:从 TCP 三次握手到 HTTPS 加密,一篇就够了
面试
Hi李耶1 天前
【LeetCode】4-寻找两个正序数组的中位数
算法·leetcode·职场和发展
我命由我123451 天前
棘轮效应极简理解
经验分享·学习·职场和发展·产品运营·求职招聘·职场发展·学习方法