力扣两数之和python
时间: 2024-09-30 16:10:59 浏览: 35
基于Java和Python的力扣刷题练习设计源码
力扣上“两数之和”的问题是LeetCode经典算法题目的一个实例,题目要求你在给定的整数数组`nums`中找到两个不同的元素,使得它们的和等于目标值`target`。你可以使用哈希表或者字典来解决这个问题,因为它的查找时间复杂度相对较低。
以下是Python的一个简单解决方案:
```python
def twoSum(nums, target):
# 创建一个空的字典来存储每个元素及其索引
num_dict = {}
for i, num in enumerate(nums):
# 如果目标值减去当前元素已存在于字典中,则找到了一对和为目标值的数
if target - num in num_dict:
return [num_dict[target - num], i]
# 否则,将当前元素及其索引添加到字典中
num_dict[num] = i
# 如果找不到这样的组合,返回空列表
return []
```
在这个函数中,我们遍历输入数组,对于每一个元素,检查它是否是目标值的缺失部分(`target - num`)。如果找到匹配的,就立即返回这两个元素的索引;如果没有,我们就继续前进并更新字典。如果遍历完整个数组都没有找到合适的配对,说明不存在满足条件的元素,函数会返回一个空列表。
阅读全文