给定一个数组和一个整数目标值,请在该数组中找出和为目标值的两个整数
时间: 2024-12-08 19:23:40 浏览: 18
Day05_剑指Offer.md
这是一个经典的编程问题,通常被称为“两数之和”(Two Sum)。给定一个整数数组 `nums` 和一个目标值 `target`,你需要找到数组中存在且它们相加等于 `target` 的两个整数。这个问题可以使用哈希表(也称字典)数据结构来解决。
算法步骤如下:
1. 创建一个空的哈希表或映射。
2. 遍历数组中的每个元素(`num`),对于每个元素:
a. 检查哈希表中是否存在 `target - num` 这个键。
b. 如果存在,说明找到了一对和为目标值的数字,返回这两个数。
c. 否则,将当前元素及其索引加入哈希表中,键为 `num`,值为其索引。
3. 如果遍历完数组都没有找到符合条件的组合,返回空或 None,表示没有这样的两个数。
```python
def two_sum(nums, target):
hash_map = {}
for i, num in enumerate(nums):
complement = target - num
if complement in hash_map:
return [complement, num]
hash_map[num] = i
return []
```
阅读全文