鏈接
https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/description/
要求
給定一個范圍在 1 ≤ a[i] ≤ n ( n = 數(shù)組大小 ) 的 整型數(shù)組,數(shù)組中的元素一些出現(xiàn)了兩次,另一些只出現(xiàn)一次。
找到所有在 [1, n] 范圍之間沒有出現(xiàn)在數(shù)組中的數(shù)字。
您能在不使用額外空間且時間復(fù)雜度為O(n)的情況下完成這個任務(wù)嗎? 你可以假定返回的數(shù)組不算在額外空間內(nèi)。
輸入:
[4,3,2,7,8,2,3,1]
輸出:
[5,6]
相關(guān)代碼
思路:
需要的列表為range(1,n+1)和set(nums)的差集
class Solution(object):
def findDisappearedNumbers(self, nums):
return list(set(range(1,len(nums)+1)) - set(nums)) if nums else []