ITPub博客

首页 > 应用开发 > Python > LEETCODE刷题——从排序数组中删除重复项

LEETCODE刷题——从排序数组中删除重复项

Python 作者:一只小木鱼 时间:2020-12-25 10:58:53 0 删除 编辑

26 .  从排序数组中删除重复项

给定一个有序数组,你需要 原地删除其中的重复内容,使每个元素只出现一次,并返回新的长度。

不要另外定义一个数组,您必须通过用 O(1) 额外内存 原地修改输入的数组来做到这一点

示例:

给定数组: nums = [1,1,2],
你的函数应该返回新长度 2, 并且原数组nums的前两个元素必须是1和2
不需要理会新的数组长度后面的元素
class Solution:
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        前提是已排序
        判断nums[j]与nums[i-1]元素,相等j+1继续判断下一元素;不相等,nums[j]赋值给nums[i],
        返回i与size的最小值(size为0时返回size,没有不相同的时候           size==i,有相同的i<size)
        """
        i = 1 
        j = 1
        size = len(nums)
        while j < size:
            if nums[j] == nums[i-1]:
                j += 1
            else: 
                nums[i] = nums[j]
                i += 1
                j += 1
        return min(i,size)

文章来源:CSDN-张文彬彬

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69991606/viewspace-2745221/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-12-24

  • 博文量
    12
  • 访问量
    6201