【 腾讯精选练习 50 题】06—删除排序数组中的重复项【简单】

简介: 【 腾讯精选练习 50 题】06—删除排序数组中的重复项【简单】

题目链接

26. 删除排序数组中的重复项【简单】

题目简介

给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

示例 1:

给定数组 nums = [1,1,2], 
函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 
你不需要考虑数组中超出新长度后面的元素。

示例 2:

给定 nums = [0,0,1,1,1,2,2,3,3,4],
函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
你不需要考虑数组中超出新长度后面的元素。

题目解析

  1. 看完题目,有些懵
  2. 大概的意思是:给你一段排序的数组,让你将重复的放后面,最后输出的是一个不重复的字段
  3. 利用双指针:left = 0、right = 0
  • 如果 nums[left] == nums[right] 相当于 当前指向的数值是一样的,我们将 right 右移
  • 如果 nums[left] != nums[right] 相当于 当前指向的数值不一样,我们进行 nums[++left] = nums[right]
  • 最后返回 left + 1 即可

题目代码

class Solution {
    public int removeDuplicates(int[] nums) {
        if(nums.length == 0){
            return 0;
        }
        int left = 0;
        int right = 0;
        while(left <= right && right < nums.length){
            if(nums[left] != nums[right]){
                nums[++left] = nums[right];
            }
            right++;
        }
        return left + 1;
    }
}


相关文章
【 腾讯精选练习 50 题】14—合并两个有序数组【简单】
【 腾讯精选练习 50 题】14—合并两个有序数组【简单】
|
5月前
|
算法
【 腾讯精选练习 50 题】09—寻找两个正序数组的中位数【困难】
【 腾讯精选练习 50 题】09—寻找两个正序数组的中位数【困难】
【 腾讯精选练习 50 题】12—合并两个有序链表【简单】
【 腾讯精选练习 50 题】12—合并两个有序链表【简单】
|
6月前
|
vr&ar
leetcode每日一题 2021/4/7 81. 搜索旋转排序数组 II
leetcode每日一题 2021/4/7 81. 搜索旋转排序数组 II
30 0
|
4月前
|
Python Java Go
Python每日一练(20230430) 移除元素、删除排序链表中的重复元素、搜索旋转排序数组II
Python每日一练(20230430) 移除元素、删除排序链表中的重复元素、搜索旋转排序数组II
49 0
Python每日一练(20230430) 移除元素、删除排序链表中的重复元素、搜索旋转排序数组II
【 腾讯精选练习 50 题】20—合并K个升序链表【困难】
【 腾讯精选练习 50 题】20—合并K个升序链表【困难】
【 腾讯精选练习 50 题】20—合并K个升序链表【困难】
|
10月前
|
Go 索引 Cloud Native
【刷题日记】34. 在排序数组中查找元素的第一个和最后一个位置
本次刷题日记的第 72 篇,力扣题为:34. 在排序数组中查找元素的第一个和最后一个位置 ,中等
|
7月前
|
算法
【算法挨揍日记】day10——704. 二分查找、34. 在排序数组中查找元素的第一个和最后一个位置
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
332 0
|
算法 前端开发
每日两题 - 合并K个升序链表 + 删除有序数组的重复项 🏆
每日两题 - 合并K个升序链表 + 删除有序数组的重复项 🏆
88 0
每日两题 - 合并K个升序链表 + 删除有序数组的重复项 🏆
【刷题】删除排序数组中的重复项
【刷题】删除排序数组中的重复项
【刷题】删除排序数组中的重复项