面试经典 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;
    }
}
相关推荐
码云数智-大飞16 小时前
从 OC 平滑迁移 Swift 完整方案
职场和发展·蓝桥杯
水木流年追梦18 小时前
agent面试必备31- AI Agent 核心进阶:工具路由(Tool Routing)
数据库·人工智能·oracle·面试·职场和发展·embedding
林希_Rachel_傻希希19 小时前
web性能优化之延迟加载图片和<inframe>
前端·javascript·面试
帅次19 小时前
Android 高级工程师面试:Java 多线程与并发 近1年高频追问 22 题
android·java·面试
林希_Rachel_傻希希21 小时前
web性能优化之——AI总结视频
前端·javascript·面试
子建莫敌21 小时前
ROS2 面试总结
面试·职场和发展
前端炒粉21 小时前
个人简历面经总结二
前端·网络·vue.js·react.js·面试
AI人工智能+电脑小能手21 小时前
【大白话说Java面试题 第154题】【06_Spring篇】第14题:Spring 支持的 Bean 作用域
java·开发语言·spring·面试
小林ixn21 小时前
用 100 行代码手搓一个 MCP Server,让 LLM 直接读你本地文件
面试·llm
程序员杰哥21 小时前
接口自动化测试项目框架详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试