面试经典 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;
    }
}
相关推荐
HeiSenBerg4 小时前
Android Lifecycle 原理完整剖析:从监听、事件分发到状态驱动
面试
CoderYanger4 小时前
A.每日一题:1979. 找出数组的最大公约数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
HeiSenBerg5 小时前
LeakCanary 原理完整剖析:从初始化到堆分析
面试
沉默王二5 小时前
腾讯面试官:“你说你做了一个终端Agent,那说说 LLM 和 Agent的区别,ReAct、MCP、Tool、Memory、Skills?”我信誓旦旦开始背了
面试·agent·腾讯
爱学习的执念6 小时前
软件测试面试常问,主要考察你对接口测试相关知识的掌握程度?
面试·职场和发展
HeiSenBerg7 小时前
Glide 原理分析
面试
清泓y8 小时前
UE 物理系统知识分享
面试·ue5·游戏程序
KaifuZeng8 小时前
电源面试问题汇总一
单片机·嵌入式硬件·面试·电路
HeiSenBerg9 小时前
ARouter 原理深度剖析:从 APT 到 ASM,彻底搞懂路由框架
面试
程序员清风9 小时前
AI不是万能的,大家要专注实践!
java·后端·面试