用python给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。
时间: 2023-06-24 16:07:28 浏览: 101
python 实现给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)
5星 · 资源好评率100%
可以使用哈希表来解决这个问题,遍历整个数组,对于每个元素,在哈希表中查找是否存在与当前元素相加等于目标值的元素。如果找到了这样的元素,直接返回两个元素的下标即可。
以下是Python代码实现:
```python
def twoSum(nums, target):
# 创建一个哈希表,用于存储每个元素的值和下标
hashmap = {}
for i, num in enumerate(nums):
# 如果存在与当前元素相加等于目标值的元素,直接返回两个元素的下标
if target - num in hashmap:
return [hashmap[target - num], i]
# 否则将当前元素的值和下标存入哈希表中
hashmap[num] = i
# 如果没有找到符合条件的元素,返回空列表
return []
```
示例:
```python
>>> nums = [2, 7, 11, 15]
>>> target = 9
>>> twoSum(nums, target)
[0, 1]
```
解释:nums[0] + nums[1] = 2 + 7 = 9,所以返回 [0, 1]。
阅读全文