存在重复

要求:

给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数返回 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

分析:

直接元素之间比较,会很容易想到用两个for循环来进行元素间判断,但是这种方法会超时,所以不使用这种方法;可以通过将数组转换成集合,然后判断转换前的数组和集合的长度是否相等,如果相等,则没有重复元素,如果不相等,则存在重复元素。(这种方法,很巧妙,也应用了集合的特性)。

代码:
1
2
3
4
5
6
7
8
9
10
class Solution:
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
if (len(nums) != len(set(nums))):
return True
else:
return False
参考资料:

1、LeetCode-containsDuplicate-存在重复 https://segmentfault.com/a/1190000014325206


存在重复
https://xiepeng21.cn/posts/e449a9c3/
作者
Peng Xie
发布于
2018年7月17日
许可协议