灵感来源
- 保持更新,努力学习
- python脚本学习
存在重复元素
解题思路
最直接的思路是使用哈希集合(HashSet)来记录数组中已经出现过的元素。遍历数组时,检查当前元素是否已经在集合中:
- 如果存在,说明有重复元素,返回
true
- 如果不存在,将该元素加入集合
- 遍历结束后仍未发现重复元素,则返回
false
这种方法的时间复杂度是 O (n),空间复杂度是 O (n),其中 n 是数组的长度。
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
seen = set()
for num in nums:
if num in seen:
return True
seen.add(num)
return False
逐行解释
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
# 使用集合(哈希表)来记录已经出现过的元素
# 集合的特点是元素唯一,查找元素的时间复杂度为O(1)
seen = set()
# 遍历数组中的每个元素
for num in nums:
# 检查当前元素是否已经在集合中出现过
if num in seen:
# 如果存在,说明有重复元素,直接返回True
return True
# 如果不存在,将当前元素加入集合
seen.add(num)
# 遍历完整个数组都没有发现重复元素,返回False
return False