首先想到的是排序,然後遍歷一遍。
class Solution:
def findDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
two_list = []
nums2 = sorted(nums)
for i in range(1,len(nums2)):
if nums2[i-1] ==nums2[i]:
two_list.append(nums2[i-1])
return two_list
但是很顯然,這樣的方法效率不高,不如用字典,類似哈希表。還有一種更快的方法是用集合:
class Solution:
def findDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
a = []
b = set()
for num in nums:
if num in b:
a.append(num)
else:
b.add(num)
return a