面试经典 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;
    }
}
相关推荐
GuWenyue21 小时前
告别命名混乱!5步掌握BEM规范,写出易维护的前端页面
前端·javascript·面试
曲美丽21 小时前
技术基础理论(面试)
面试·职场和发展
Code_Artist21 小时前
盘点Redis的常见使用场景,拜托不要再只会Get&Set一坨数据啦!
redis·后端·面试
JAVA96521 小时前
JAVA面试-并发篇 04-synchronized和ReentrantLock 的区别是什么
java·面试
SiYuanFeng21 小时前
大厂面试python复习基础100题
python·面试·职场和发展
memcpy01 天前
LeetCode 2657. 找到两个数组的前缀公共数组【集合,位运算】中等
算法·leetcode·职场和发展
我爱cope1 天前
【Agent智能体17 | 工具使用-MCP协议】
人工智能·语言模型·职场和发展
代码小库1 天前
免费在线简历工具「面试帮」——18 款模板 + PDF 导出
面试·职场和发展·pdf
xyl8661 天前
高频面试题:实现int sqrt函数
面试
JAVA9651 天前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试