使用python,给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。nums = [2,7,11,15], target = 9
时间: 2023-08-14 13:34:11 浏览: 105
两数之和:在该数组中找出和为目标值的那两个整数,并返回他们的数组下标
好的,这是一道经典的算法题,可以使用哈希表来解决。具体步骤如下:
1. 创建一个空的哈希表 dict。
2. 遍历整个数组 nums。
3. 在哈希表中查找是否存在 target - nums[i] 这个键。
4. 如果存在,则返回它们的下标。
5. 如果不存在,则将当前数 nums[i] 作为键,它的下标 i 作为值存入哈希表中。
6. 如果遍历完整个数组都没有找到符合条件的数对,则返回空数组。
下面是实现代码:
```python
def twoSum(nums, target):
dict = {}
for i in range(len(nums)):
complement = target - nums[i]
if complement in dict:
return [dict[complement], i]
dict[nums[i]] = i
return []
```
对于给定的数组 `[2, 7, 11, 15]` 和目标值 `9`,调用 `twoSum(nums, target)` 函数,返回的结果是 `[0, 1]`,表示下标为 `0` 和下标为 `1` 的两个元素之和为 `9`。
阅读全文