在数组中查找两个重复数字的算法,可以使用哈希表来实现。以下是一个简单的 Python 代码示例:
def find_duplicates(arr):
hash_table = {}
duplicates = []
for num in arr:
if num in hash_table:
duplicates.append(num)
else:
hash_table[num] = True
return duplicates
这个算法的时间复杂度为 O(n),其中 n 是数组的长度。它遍历数组中的每个元素,并将其添加到哈希表中。如果元素已经存在于哈希表中,则将其添加到重复数字列表中。最后,返回重复数字列表。
这个算法不需要对数组进行排序,因此它比排序算法更快。同时,它也不需要额外的空间,因为它只使用了一个哈希表来存储数组中的元素。
领取专属 10元无门槛券
手把手带您无忧上云