面试经典 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;
    }
}
相关推荐
xiaoxue..18 小时前
React 手写实现的 KeepAlive 组件
前端·javascript·react.js·面试
快乐非自愿18 小时前
【面试题】MySQL 的索引类型有哪些?
数据库·mysql·面试
南风知我意95718 小时前
【前端面试2】基础面试(杂项)
前端·面试·职场和发展
cyforkk1 天前
11、Java 基础硬核复习:常用类和基础API的核心逻辑与面试考点
java·python·面试
YuTaoShao1 天前
【LeetCode 每日一题】2976. 转换字符串的最小成本 I
算法·leetcode·职场和发展
码农水水1 天前
得物Java面试被问:消息队列的死信队列和重试机制
java·开发语言·jvm·数据结构·机器学习·面试·职场和发展
无限码力1 天前
华为OD技术面真题 - JAVA开发 - 5
java·华为od·面试·华为od技术面真题·华为od技术面八股·华为od技术面java八股文
测试界的世清1 天前
金九银十软件测试面试题(800道)
测试工具·面试·职场和发展
YuTaoShao1 天前
【LeetCode 每日一题】2977. 转换字符串的最小成本 II——(解法一)记忆化搜索
算法·leetcode·职场和发展
不许哈哈哈1 天前
HTTP协议基础(运维开发面试版)
http·面试·运维开发