8/100. Find All Numbers Disappeared in an Array

在这里插入图片描述

class Solution:
    def findDisappearedNumbers(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        allnums = [i for i in range(1, len(nums)+1)]
        return list(set(allnums)-set(nums))

最优解法:

    def findDisappearedNumbers(self, nums):
        myset = (len(nums)+1) * [False]
        myset[0] = True
        for num in nums:
            myset[num] = True
  
        return [element for element,existed in enumerate(myset) if not existed]
        # result = []
        # for element,existed in enumerate(myset):
        #     if not existed:
        #         result.append(element)
        # return result  
  • enumerate() 函数

    用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

  • set() 函数

    创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

猜你喜欢

转载自blog.csdn.net/weixin_39010770/article/details/83894587