面试经典 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;
    }
}
相关推荐
发现一只大呆瓜6 小时前
React-彻底搞懂 Redux:从单向数据流到 useReducer 的终极抉择
前端·react.js·面试
零雲7 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
uzong7 小时前
Skill 被广泛应用,到底什么是 Skill,今天详细介绍一下
人工智能·后端·面试
发现一只大呆瓜8 小时前
React-路由监听 / 跳转 / 守卫全攻略(附实战代码)
前端·react.js·面试
消失的旧时光-194310 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
yuhaiqiang10 小时前
被 AI 忽悠后,开始怀念搜索引擎了?
前端·后端·面试
li星野11 小时前
[特殊字符] Linux/嵌入式Linux面试模拟卷
linux·运维·面试
xlp666hub12 小时前
如果操作GPIO可能导致休眠,那么同步机制绝不能采用spinlock
linux·面试
li星野12 小时前
RTOS面试完整模拟题(嵌入式系统方向)
arm开发·面试·职场和发展
2301_8008951012 小时前
2022蓝桥杯b组初赛---备战蓝桥杯版h
职场和发展·蓝桥杯