面试经典 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;
    }
}
相关推荐
JAVA面经实录91714 小时前
MQ高频面试题标准答案(Java后端/架构面试背诵版)
java·面试·架构·kafka·rabbitmq
QING61815 小时前
Android面试 —— 八股文之app启动流程
android·面试·app
Raink老师15 小时前
【AI面试临阵磨枪-91】Skill 市场 / Hub 设计:审核、上架、评分、更新、安全扫描?
人工智能·安全·面试
_日拱一卒16 小时前
LeetCode:46全排列
算法·leetcode·职场和发展
凌波粒16 小时前
LeetCode--98.验证二叉搜索树(二叉树)
算法·leetcode·职场和发展
QING61817 小时前
Android面试 —— 八股文(一)
android·面试·android jetpack
卷帘依旧18 小时前
TypeScript高级应用能力举例
面试
凌波粒18 小时前
LeetCode--530.二叉搜索树的最小绝对差(二叉树)
算法·leetcode·职场和发展
我爱cope18 小时前
【Agent智能体18 | 构建AI工作流的技巧-评估】
人工智能·语言模型·职场和发展
李剑一18 小时前
面试第一关!面试官:讲一下事件循环机制,宏&微任务,还有渲染时机
前端·面试