力扣 两数相加 python
时间: 2024-08-12 14:02:18 浏览: 149
Leetcode刷题python——(2)两数相加
在LeetCode(力扣)上,有一道名为“两数之和”的经典Python题目,编号为1。这是一道简单的查找题,任务是给定一个无序整数数组`nums`和一个目标值`target`,找出数组中是否存在两个元素,它们的和等于`target`。
Python解决方案通常是利用哈希表(字典)的数据结构,遍历数组的过程中,对于每个元素`num`,我们检查目标值`target - num`是否已经在字典中。如果在,则找到了一对符合条件的数;如果没有,我们就将`num`添加到字典中,作为下一次查找的起点。这种方法的时间复杂度是O(n),空间复杂度也是O(n)。
```python
def twoSum(nums, target):
# 创建一个空字典来存储数字及其索引
dict_nums = {}
for i, num in enumerate(nums):
# 如果目标值减去当前元素已存在字典中,直接返回结果
if target - num in dict_nums:
return [dict_nums[target - num], i]
# 否则,将当前元素及其索引添加到字典中
dict_nums[num] = i
# 没有找到解,返回空列表
return []
```
阅读全文