给定一个整数数组,判断该数组中是否存在重复元素
数组中的任何值如果出现至少两次都需要返回Ture,每一个值都唯一的话就返回False
Example 1:
Input: [1,2,3,1] Output: true
Example 2:
Input: [1,2,3,4] Output: false
Example 3:
Input: [1,1,1,3,3,4,3,2,4,2] Output: true
1:排序数组,然后访问数组,判断相邻元素是否相等
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
nums.sort()
count = 0
while count<len(nums)-1:
if nums[count]==nums[count+1]:
return True
count += 1
return False
2:引入字典
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
numDic = {}
for i in nums:
if i not in numDic:
numDic[i] = True
else:
return True
return False
3:判断列表转元组之后的长度是否和原长度相等
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
if len(set(nums))==len(nums):
return False
else:
return True
列表简单的判断元素是否重复(错误:超出时间限制)
def containsDuplicate(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
if len(nums)<2:
return False
for i in range(1,len(nums)):
if nums[i] in nums[:i] or nums[i] in nums[i+1:]:
return True
return False
算法题来自:https://leetcode-cn.com/problems/contains-duplicate/description/