1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案(python)
时间: 2023-11-28 19:42:59 浏览: 109
两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个
两数之和问题是一道经典的算法问题,可以使用多种方法来解决。其中一种常见的方法是使用哈希表,具体步骤如下:
1. 创建一个空的哈希表。
2. 遍历数组中的每个元素,对于每个元素,计算出与目标值的差值。
3. 在哈希表中查找是否存在这个差值,如果存在,则返回这两个数的下标;如果不存在,则将当前元素及其下标加入哈希表中。
4. 如果遍历完整个数组都没有找到符合条件的两个数,则返回空列表。
下面是Python代码实现:
```python
def twoSum(nums, target):
hash_table = {}
for i, num in enumerate(nums):
complement = target - num
if complement in hash_table:
return [hash_table[complement], i]
hash_table[num] = i
return []
```
其中,enumerate()函数可以同时遍历数组中的元素和它们的下标。
阅读全文