面试经典 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;
    }
}
相关推荐
2501_913061349 小时前
JVM虚拟机——面试中的八股文
java·jvm·面试
测试19989 小时前
Selenium自动化测试框架的搭建
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
浅念-9 小时前
分治算法专题|LeetCode高频经典题目详细题解
数据结构·c++·算法·leetcode·职场和发展·排序·分治
代码不加糖10 小时前
2026 React 面试“通关秘籍”:高频 12 问 + 深度解析(含Hooks源码思想)
前端·react.js·面试
wuxinyan12310 小时前
Java面试题53:一文深入了解RAG(检索增强生成)核心概念
java·人工智能·机器学习·面试·rag
帅次10 小时前
Android 性能优化专题面试稿
android·面试·性能优化
shehuiyuelaiyuehao10 小时前
算法11,滑动窗口,最大连续1的个数|||
算法·leetcode·职场和发展
2501_9130613410 小时前
网络原理知识(8)
java·网络·面试
明天有专业课11 小时前
RAG-向量数据库Milvus
面试·aigc
C语言小火车11 小时前
2026年C++后端开发面试题
java·开发语言·面试