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