一、问题描述
给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数返回 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
二、代码和思路
这里采用将数组先排序,设i值从数组的位置0开始,不断检查下一位值的元素与当前元素是否相等,如果相等则i+1。
循环结束后检查i的位置,如果i已经是最后一位则证明没找到相等的return False,否则return True
class Solution(object):
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
if nums is None or len(nums)<2:
return False
nums.sort()
i,n=0,len(nums)
while i<n-1 and nums[i+1] != nums[i]:
i += 1
if i==n-1:return False
else:return True
三、运行结果
从结果上来看效果一般