zoukankan      html  css  js  c++  java
  • Leetcode题库——26.删除排序数组中的重复项


    @author: ZZQ
    @software: PyCharm
    @file: removeDuplicates.py
    @time: 2018/9/23 13:51
    要求:
    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
    不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
    e.g.:
    1) 给定数组 nums = [1,1,2],
    函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。

        2)  给定 nums = [0,0,1,1,1,2,2,3,3,4],
            函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
    
    class Solution():
        def __init__(self):
            pass
    
        def removeDuplicates(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            if not nums:
                return 0
            index = 0
            current_value = nums[0]
            new_len = 1
            for i in range(1, len(nums)):
                if nums[i] > current_value:
                    index += 1
                    nums[index] = nums[i]
                    new_len += 1
                current_value = nums[i]
            return new_len
    
    
    if __name__ == "__main__":
        answer = Solution()
        nums = []
        print(answer.removeDuplicates(nums=nums))
        print nums
    
  • 相关阅读:
    Duff and Meat(贪心)
    Duff and Meat(贪心)
    Eugeny and Array(水题,注意题目描述即可)
    Eugeny and Array(水题,注意题目描述即可)
    HDU-2588-GCD (欧拉函数)
    HDU-2588-GCD (欧拉函数)
    再谈欧拉函数
    再谈欧拉函数
    容斥定理及浅略介绍
    Vue
  • 原文地址:https://www.cnblogs.com/zzq-123456/p/9721284.html
Copyright © 2011-2022 走看看