一开始的想法是用异或来做 但看到了Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array)这个条件
意味着我们可以在原来的数组上操作设置标志位 出现过的数字下标设为-1(因为所给的整数不会超出数组长度即最坏的情况都能一一对应)
class Solution:
def findDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
res=[]
for n in nums:
index=abs(n)-1
if nums[index]<0:
res.append(index+1)
nums[index]=-nums[index]
return res