[leetcode26]删除有序数组中的重复项

2023-10-04  本文已影响0人  欢仔_159a

题目:给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

本人的漂亮烂代码:这次竟然能一次通过,看来已经get到双指针要领了。

    def removeDuplicates(self, nums: List[int]) -> int:
        if len(nums) == 0:
            return 0
        elif len(nums) == 1:
            return 1
        elif len(nums) > 1:
            index = 0
            for i in range(1, len(nums)):
                if nums[i] != nums[index]:
                    index += 1
                    nums[index] = nums[i]
            nums = nums[:index+1]
            return index+1
上一篇 下一篇

猜你喜欢

热点阅读