1.存在重复元素
给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
方法一:集合去重
#方法一:集合去重
def containsDuplicate(nums):
return len(nums)!=len(set(nums)) #判断去重前后长度是否相等
方法二:字典储存
#方法二:字典储存
def containsDuplicate(nums):
dic={}
for i in nums:
if dic.get(i):
return True #找到了已经出现过
dic[i]=1 #不存在
return False
方法三:排序
#方法三:排序
def containsDuplicate(nums):
nums.sort() #先排序,排序后重复元素一定相邻
for i in range(len(nums)-1):
if nums[i]==nums[i+1]:
return True
return False
2.第三大的数
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。
方法一:去重+排序
#方法一:去重+排序
def thirdMax(nums):
nums=list(set(nums)) #去重后转成列表
nums=sorted(nums) #排序
if len(nums) < 3:
return nums[-1]
else:
return nums[-3]