这个题肯定是要统计信息的,要统计没出现过的数字。最常见的做法就是用哈希表存,但这需要O(N)的空间复杂度。但实际上是不用的,我们可以直接将这个数组当做哈希表,只需用到模运算记录,代码如下:
class Solution:
def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
N = len(nums)
for num in nums:
nums[num%N-1] += N
ret = []
for idx, num in enumerate(nums):
if num <= N: ret.append(idx+1)
return ret