面试经典 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;
    }
}
相关推荐
kyriewen28 分钟前
Generator 函数:那个能“暂停”的函数,到底有什么用?
前端·javascript·面试
Moe48844 分钟前
Redis 缓存三大经典问题:穿透、击穿与雪崩
java·后端·面试
Mr.wangh3 小时前
redis面试题总结
java·redis·面试
重学一遍4 小时前
模拟面试-微服务专题
微服务·面试·职场和发展
梦里花开知多少4 小时前
浅谈ThreadPool
android·面试
Daorigin_com5 小时前
合规经营新时代:从“安全港”制度看企业合规管理新路径
经验分享·百度·信息可视化·职场和发展·社交电子·交互·新浪微博
苦瓜小生5 小时前
【Leetcode Hot 100刷题路线】| 找工作速刷 | 第23题 - [49] - 字母异位词分组
算法·leetcode·职场和发展
kyriewen5 小时前
手写 Promise:从“我会用”到“我会造”
前端·javascript·面试
二十一_5 小时前
LangChain 教程 03|快速开始:10 分钟创建第一个 Agent
前端·面试·langchain
我叫黑大帅5 小时前
php 如何使用mysqli连接mysql
后端·面试·php