时间复杂度(O(n)), 思想:元素归位
class Solution:
def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
for i in range(len(nums)):
while nums[i] != i + 1 and nums[i] != -1:
if nums[i] == nums[nums[i] - 1]:
nums[i] = -1
break
t = nums[nums[i] - 1]
nums[nums[i] - 1] = nums[i]
nums[i] = t
return [i + 1 for i in range(len(nums)) if nums[i] == -1]