查找重复元素-python
1.题目
2.排序法
思路:先对列表元素排序,比较排序后相邻两个元素是否相等,返回结果。
代码:
class Solution:
def containsDuplicate(self, nums):
'''
:type nums: List(int)
:rtype: bool
'''
nums.sort()
for i in range(1, len(nums)):
if nums[i] == nums[i-1]:
return True
return False
#调用
res = Solution()
res.containsDuplicate([1,2,3,4,2])
3.哈希表法:map
思路:定义空字典,for循环遍历列表元素,存储在字典。若元素存在,则返回true
代码:
class Solution:
def containsDuplicate(self, nums):
dic = {}
for i in nums:
if i not in dic:
dic[i] = 1
else:
return True
return False
4.集合set()去重
思路:比较set()去重后元素个数与去重前元素个数是否相同
代码:
class Solution:
def containsDuplicate(self, nums):
return len(set(nums)) != len(nums)