题目
给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
示例 1:
输入: [1,2,3,1] 输出: true 示例 2:
输入: [1,2,3,4] 输出: false 示例 3:
输入: [1,1,1,3,3,4,3,2,4,2] 输出: true
来源:力扣(LeetCode) 链接:LeetCode217. 存在重复元素 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法一 (去重比长法)
思路 如题代码
class Solution(object):
def containsDuplicate(self
, nums
):
"""
:type nums: List[int]
:rtype: bool
"""
len1
=len(nums
)
len2
=len(list(set(nums
)))
return False if len1
!=len2
else True
结果
解法二(哈希表)
思路 用字典记录已访问元素代码
class Solution(object):
def containsDuplicate(self
, nums
):
"""
:type nums: List[int]
:rtype: bool
"""
res
=set()
for num
in nums
:
if num
in res
:
return True
res
.add
(num
)
return False
结果