Leetcode练习(Python):数组类:第26题:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

题目:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。  不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

思路:原地删除,在原有数组上进行处理

程序:

class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        index = 1
        while index < len(nums):
            if nums[index] == nums[index - 1]:
                del nums[index]
            else:
                index += 1
        return len(nums)

猜你喜欢

转载自www.cnblogs.com/zhuozige/p/12724508.html