资讯专栏INFORMATION COLUMN

leetcode26 删除顺序数组中重复的数字

Tony / 1432人阅读

摘要:题目要求对于一个已经顺序数组,删除重复的元素,并且返回新数组的长度这题的特殊性在于,不允许创建新的数组来作为结果数组返回,并且原来数组超过结果长度的部分可以忽略如果采用循环复制的方法时间复杂度将达到在数据量大的场景下非常影响性能下面方法的时

题目要求:对于一个已经顺序数组,删除重复的元素,并且返回新数组的长度
这题的特殊性在于,不允许创建新的数组来作为结果数组返回,并且原来数组超过结果长度的部分可以忽略

如果采用循环复制的方法 时间复杂度将达到O(n2) 在数据量大的场景下非常影响性能

下面方法的时间复杂度为O(n) 空间复杂度为O(1) 只需要遍历数组一次

/**
 * @author rale
 *
 *Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.
 *Do not allocate extra space for another array, you must do this in place with constant memory.
 *For example,
 *Given input array nums = [1,1,2],
 *Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn"t matter what you leave beyond the new length.
 */
public class RemoveDuplicatesfromSortedArray {
    public int removeDuplicates(int[] nums) {
        if(nums.length<=0){
            return 0;
        }
        int index = 1;
        for(int i = 1 ; i

第一次超过90% 特此记录!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66837.html

相关文章

  • ❤️思维导图整理大厂面试高频数组9: 删除重复元素通解问题, 力扣26/80❤️

    此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), 毕竟算法不是做了一遍就能完全记住的. 所以本文适合已经知道解题思路和方法, 想进一步加强理解和记忆的朋友, 并不适合第一次接触此题的朋友(可以根据题号先去力扣看看官方题解, 然后再看本文内容). 关...

    MasonEast 评论0 收藏0
  • leetcode 26 Remove Duplicates from Sorted Array

    摘要:题目比较简单,就是找出数组不重复的数字,返回不重复的数字个数。无需删除重复数字,只需要保证数组的前位为不重复的个数字即可代码如下 Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not all...

    alaege 评论0 收藏0
  • 70道前端LeetCode题目集合及视频讲解(持续更新...)

    前端LeetCode刷题 下面是已刷的题目的目录。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,欢迎关注。 数组类 26 删除排序数组中的重复项 27 移除元素 35 搜索插入位置 66 加1 80 medium 删除排序数组中的重复项2 88 合并两个有序数组 167 两数之和II - 输入有序数组 118 杨辉三角 169 easy 求众数 1...

    mayaohua 评论0 收藏0
  • 【刷算法】LeetCode.26-从排序数组删除重复

    摘要:题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。示例给定函数应该返回新的长度并且原数组的前五个元素被修改为。也就是说,不对实参做任何拷贝在函数里修改输入数组对于调用者是可见的。 题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输...

    wua_wua2012 评论0 收藏0
  • LeetCode 26删除排序数组重复项 Remove Duplicates from So

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 Given a sorted array nums, remove the duplicates in-place such that each element appear only once and re...

    Alan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<