01_删除排序数组中的重复项

class Sloution:
    def remove_repetition(self,nums:list):
        # 数组是列表的实现方式之一
        # 给你一个有序数组nums ,请你原地删除重复出现的元素,使每个元素 只出现一次,返回删除后数组的新长度。
        # 要求空间复杂度为O(1)   只需要使用常数的额外空间
        if not nums:
            return 0
        n = len(nums)
        fast = slow = 1  # 1代表的是下标
        while fast < n:
            if nums[fast] != nums[fast-1]:
                nums[slow] = nums[fast]
                slow += 1
            fast += 1
        return slow
s = Sloution()
print(s.remove_repetition([1,1,2,3,3,4]))

  

posted @ 2021-10-27 11:58  这世界我来过  阅读(18)  评论(0)    收藏  举报