题目:
如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
刚开始看觉得这道题还蛮简单的,两层循环不就ok了,然而在测试时有时间限制,OTZ,看了一个大佬的评论,感觉涨知识了,先贴上我的丑丑的代码吧
class Solution(object):
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
flag=0
if (nums==[] or len(nums)==1 ):
flag=0
else:
for i in range(0,len(nums)):
for j in range(i+1,len(nums)):
if nums[i]==nums[j]:
flag=1
break
return bool(flag)
大佬使用了“set”操作,先放上基本介绍
set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
把列表换乘set型,就可以了,放上大佬的答案
class Solution:
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
set1 = set(nums)
if len(set1) == len(nums):
return False
else:
return True