给定一个数组bums和一个整数目标值traget,请你在该数组中找到和为目标值traget的那两个整数,并返回它们的数组下标
时间: 2024-09-27 22:00:50 浏览: 6
这个问题是一个经典的编程问题,通常被称为“两数之和”(Two Sum)。给定一个整数数组`nums`和一个目标值`target`,你需要找出数组中是否存在两个元素,使得它们的和等于`target`。如果存在这样的元素对,你应该返回这两个元素的索引,注意索引是从0开始计数的。
你可以通过使用哈希表(字典)来解决这个问题。遍历数组,对于每个元素,检查目标值减去当前元素是否已经在哈希表中。如果差值存在,则找到了一对和为目标值的元素,返回他们的下标;如果不在,就将当前元素及其索引添加到哈希表中。遍历结束后如果没有找到合适的组合,返回空列表或None表示没有解决方案。
以下是Python的一个简单示例:
```python
def twoSum(nums, target):
if not nums or len(nums) < 2:
return []
hash_map = {}
for i, num in enumerate(nums):
complement = target - num
if complement in hash_map:
return [hash_map[complement], i]
hash_map[num] = i
return []
# 示例
nums = [2, 7, 11, 15]
target = 9
print(twoSum(nums, target)) # 输出:[0, 1]
```