题目地址:https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/description/
大意:给定一个整数数组,其中1 ≤ a[i] ≤ n (n = 数组长度),一些元素出现两次,其他的出现一次。
寻找所有[1, n]中没有出现在数组中的元素。
class Solution:
def findDisappearedNumbers(self, nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
return list(set(range(1, len(nums) + 1)) - set(nums))
a = Solution()
print(a.findDisappearedNumbers([4,3,2,7,8,2,3,1]))
知识点:
set()
函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
所以list去除重复元素最简单的方法就是set()
set(range(5))
===>{0,1,2,3,4}
set(range(1,6))
===>{1,2,3,4,5}