面试经典 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;
    }
}
相关推荐
贺国亚13 小时前
synchronized- 并发
java·面试
代码柏拉图13 小时前
AI时代如何提问面试者
人工智能·面试·职场和发展
_深海凉_13 小时前
LeetCode热题100-对称二叉树
算法·leetcode·职场和发展
Kiyra13 小时前
Interview Agent:从面试平台到 Agent 工程实战的进化之路
面试·职场和发展
运筹vivo@13 小时前
两数之和(leetcode)
算法·leetcode·职场和发展
Mr_pyx13 小时前
LeetCode Hot 100 - 最长递增子序列完全题解
算法·leetcode·职场和发展
小江的记录本14 小时前
【MySQL】MySQL日志体系:redo log/undo log/binlog 三者区别、两阶段提交、如何保证数据一致性
java·数据库·后端·python·sql·mysql·面试
赛特·亮14 小时前
利用WTAPI(WeChatapi)-robot-go 项目解析与实战指南
微信·面试·golang
qq_2965532714 小时前
矩阵逆时针旋转90度:三种解法从入门到精通
数据结构·python·算法·面试·矩阵
AI人工智能+电脑小能手14 小时前
【大白话说Java面试题 第54题】【JVM篇】第14题:什么是可达性分析算法?
java·jvm·算法·面试