给定一个数组nums,其中每个数的值都在“1~len(nums)”这个范围之间,每个数出现1次或2次,找出这个范围内没出现的数字。
allnums用于生成范围内每个数出现1次的数组,使用“set(nums)”出现2次的数字筛掉1个,然后两个数组相减的结果即为范围内没出现的数字。
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))
- 相关知识点:
set():创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。