给定一个整数数组,判断是否存在重复元素。如果有任何值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。
示例1:
输入: [1, 2, 3, 1]
输出: true
示例2:
输入: [1, 2, 3, 4]
输出:false
方法1:排序,和前一个比较,若重复,则返回True,否则False。
class Solution:
def containsDuplicate(self, nums):
new_nums = sorted(nums)
for i in range(1, len(new_nums)):
if new_nums[i] == new_nums[i-1]:
return True
return False
方法2:利用集合的无序不重复特点
class Solution:
def containsDuplicate(self, nums):
nset = set(nums)
if len(nset) < len(nums):
return True
return False
方法3:优化的方法2
class Solution:
def containsDuplicate(self, nums):
a = len(nums)
b = len(set(nums))
return True if a > b else False