面试经典 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;
    }
}
相关推荐
码匠许师傅2 小时前
【C++ 面试真题】 C++ 中的 static 有什么作用?
c++·面试
胡萝卜术2 小时前
声明式与命令式的边界:从鉴权路由守卫到 useRef 的引用哲学
前端·javascript·面试
黄敬峰3 小时前
# React 自定义 Hook 从入门到实战——用 useTodos 和 useTheme 彻底搞懂封装思维 > 刚开始学 React Hooks 的时候,
面试
星轨初途5 小时前
LeetCode 热题 100——day6 三数之和
数据结构·c++·算法·leetcode·职场和发展
鹿角片ljp5 小时前
LeetCode 53. 最大子数组和
算法·leetcode·职场和发展
城管不管17 小时前
第六次面试2026.8.5北京一面已OC
面试·职场和发展
kyriewen18 小时前
我排查了一个React内存泄漏——罪魁祸首是这3个被忽略的清理函数
前端·javascript·面试
windliang19 小时前
Claude Code 源码分析(七):Skill 如何进入 Agent
前端·人工智能·面试
缓冲中请稍后19 小时前
React Router 完全指南:从 HashRouter 到 BrowserRouter
前端·面试
MindUp21 小时前
面试录音视频的AI复盘方案:从语音转录到RAG问答的技术实践
人工智能·面试·音视频