给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值target的那两个整数,并返回它们的数组下标。 假设每种输入只会对应一个答案,每个元素可以多次使用。 可以按任意顺序返回答案。
时间: 2024-10-05 20:00:22 浏览: 18
两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个
这是一个经典的编程问题,通常被称为“两数之和”(Two Sum),可以用哈希表(Hash Table)或者字典(Dictionary)数据结构来解决。基本思路是遍历数组,对于每一个元素,我们查找其目标值减去它的值是否已经在哈希表中,如果找到了就找到一对和为目标值的数,然后返回这两个元素的下标。
Python的解决方案可能会像这样:
```python
def twoSum(nums, target):
# 创建一个空的字典用于存储元素及其索引
hash_map = {}
for i, num in enumerate(nums):
# 如果目标值减去当前元素已经存在于字典中
if target - num in hash_map:
# 返回这对相加等于目标值的元素的索引
return [hash_map[target - num], i]
# 否则,将当前元素及其索引添加到字典中
hash_map[num] = i
# 没有找到符合条件的元素对,返回空列表
return []
```
阅读全文