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 Truereturn False
2.第三大的数
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。
方法一:去重+排序
#方法一:去重+排序
def thirdMax(nums):nums=list(set(nums)) #去重后转成列表nums=sorted(nums) #排序if len(nums) < 3:return nums[-1]else:return nums[-3]