给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
示例一
输入: [1,2,3,1]
输出: true
示例二
输入: [1,2,3,4]
输出: false
示例三
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true
思路:将数组转换为集合,然后判断数组的元素个树和集合的元素个数是否相等。若相等,则说明没有重复元素,反之则存在重复元素。
该方法耗时36ms,击败82% python提交记录
class Solution(object):
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
nums_set = set(nums)
if len(nums_set) == len(nums):
return False
else:
return True
思路二:遍历数组的元素,将元素存放进新的数组,每次都判断遍历的元素是否存在与新数组。若不存在,则append;如存在,说明有重复元素。但是该方法在输入数组很大时超出时间限制
class Solution(object):
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
nums_test = []
for number in nums:
if number not in nums_test:
nums_test.append(number)
else:
return True
return False