leetcode刷题记第21题解法python
时间: 2024-10-14 10:06:56 浏览: 44
在LeetCode上,第21题通常是指"两数相加"(Two Sum),这是一个经典的数组问题,目标是找出数组中两个元素的和等于给定的目标值。Python解决这个问题的一个常见解法是利用哈希表(字典)的数据结构特性。
以下是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 []
```
这个函数遍历输入数组nums,对于每个元素,它检查是否可以通过`target - num`找到已经存在的元素,如果找到就直接返回这两个元素的索引。如果没有找到,就继续下一次迭代。
阅读全文