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() 函数
创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。