python应用哈希表求解两数之和
时间: 2023-10-17 21:18:01 浏览: 226
leetcode-1(python).md
好的,下面是 Python 实现的哈希表求解两数之和的代码:
```python
def two_sum(nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
hash_table = {}
for i, num in enumerate(nums):
complement = target - num
if complement in hash_table:
return [hash_table[complement], i]
hash_table[num] = i
return None
```
其中,`nums` 是一个整数列表,`target` 是目标和。该函数首先创建一个空的哈希表 `hash_table`,然后遍历列表中的每个元素 `num`,将目标和 `target` 减去当前元素得到 `complement`,并在哈希表中查找是否存在键为 `complement` 的元素。
如果存在,说明当前元素和哈希表中的某个元素之和等于目标和,直接返回这两个元素的下标即可;如果不存在,将当前元素作为键,下标作为值,添加到哈希表中。
如果遍历结束时仍未找到满足条件的两个元素,说明不存在这样的组合,返回 `None`。
阅读全文