LeetCode 存在重复元素题解

张开发
2026/5/8 16:16:37 15 分钟阅读

分享文章

LeetCode 存在重复元素题解
LeetCode 存在重复元素题解题目描述给定一个整数数组nums判断是否存在重复元素。示例输入nums [1,2,3,1]输出true输入nums [1,2,3,4]输出false解题思路方法哈希表思路使用哈希表来解决这个问题。遍历数组对于每个元素检查它是否已经在哈希表中。如果在哈希表中存在返回 True。如果不在哈希表中将其加入哈希表。如果遍历完成返回 False。复杂度分析时间复杂度O(n)其中 n 是数组的长度。每个元素最多被访问一次。空间复杂度O(n)需要额外的空间来存储哈希表。代码实现方法哈希表# 存在重复元素哈希表 def contains_duplicate(nums): seen set() for num in nums: if num in seen: return True seen.add(num) return False # 测试 def test_contains_duplicate(): nums [1, 2, 3, 1] print(contains_duplicate(nums)) # 输出True nums [1, 2, 3, 4] print(contains_duplicate(nums)) # 输出False if __name__ __main__: test_contains_duplicate()方法排序# 存在重复元素排序 def contains_duplicate_sort(nums): nums.sort() for i in range(1, len(nums)): if nums[i] nums[i-1]: return True return False # 测试 def test_contains_duplicate_sort(): nums [1, 2, 3, 1] print(contains_duplicate_sort(nums)) # 输出True if __name__ __main__: test_contains_duplicate_sort()测试用例测试用例 1存在重复元素输入nums [1,2,3,1]输出true测试用例 2不存在重复元素输入nums [1,2,3,4]输出false总结存在重复元素是一个经典的哈希表问题它可以通过哈希表或排序来解决。哈希表法的核心思想是遍历数组检查每个元素是否已经在哈希表中存在。排序法的核心思想是将数组排序后检查相邻元素是否相等。掌握哈希表的使用方法对于解决类似的问题非常重要。

更多文章