给定一个整数数组,其中1≤a[i]≤n(n =数组的大小),一些元素出现两次,其他元素出现一次。
寻找所有[1,n]中没有出现在数组中的元素
方法1:
class Solution(object):
def findDisappearednumbers(self,nums):
return list(set(range(1,len(nums)+1)) - set(nums))
方法2:
使用abs()
class Solution(object):
def findDisappearednumbers(self,nums):
for i in range(len(nums)):
index = abs(nums[i]) - 1
nums[index] = -abs(nums[index])
return [i+1 for i in range(len(nums)) if nums[i] >0]