面试经典 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;
    }
}
相关推荐
one_love_zfl7 小时前
java面试-微服务组件篇
java·微服务·面试
前端百草阁8 小时前
【吃透 Promise】从基础到面试高频(手写 + 输出题 + 原理)
okhttp·面试·职场和发展
Mr.Rice.Fool8 小时前
rust面试经验1
后端·面试·职场和发展·rust
禧西9 小时前
面试准备——agent和大模型
面试·职场和发展
何陋轩10 小时前
Claude 3.5 vs GPT-4o vs Gemini:程序员应该选哪个?代码能力全面测评
人工智能·面试·架构
leoufung11 小时前
LeetCode 135. Candy:从直觉到最优解的完整推导
算法·leetcode·职场和发展
IT 青年11 小时前
网安面试经(13)
面试·网安
项管芝士12 小时前
PMP备考时间全攻略:如何把握关键节点,从容应对考试
职场和发展·职场发展
明天有专业课12 小时前
RAG-不写SQL也能查询MySQL数据
面试·aigc