方法1:排序
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
if len(nums)==0:
return False
nums.sort()#
for i in range(1,len(nums)):
if nums[i-1]==nums[i]:
return True
return False
方法2:集合
class Solution:
def containsDuplicate(self,nums:List[int])-> bool:
if len(nums)==0:
return False
hashset=set(nums)#set直接把重复的去掉
return False if len(nums)==len(hashset) else True
方法3:哈希表
class Solution:
def containsDuplicate(self,nums:List[int])->bool:
if len(nums)==0:
return False
mapping={}
for num in nums:
if num not in mapping:
mapping[num]=1#这个方法可以记录出现次数
else:
mapping[num]=mapping.get(num)+1
for v in mapping.values():
if v>1:
return True
return False
#方法4:自带count
class Solution:
def containsDuplicate(self,nums:List[int])->bool:
for x in nums:
if nums.count(x) > 1:#使用自带的count
return True
return false