力扣-13.两数之和

本文最后更新于:2022年10月1日 晚上

题目描述

(如果看不到的话就去力扣吧)
第一张图

实现

暴力枚举

不用动脑子,直接遍历!

1
2
3
4
5
6
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(0, len(nums), 1):
for j in range(i, len(nums), 1):
if nums[i] + nums[j] == target:
return [i, j]

字典查找

在字典里边查找值,这样可以防止重复遍历。

1
2
3
4
5
6
7
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
a_dict = dict()
for i, num in enumerate(nums):
if target - num in a_dict: # in是在字典中存不存在对应key
return [a_dict[target - num], i]
a_dict[nums[i]] = i

这里有一只爱丽丝

希望本文章能够帮到您~


力扣-13.两数之和
https://map1e-g.github.io/2022/10/01/leetcode-1/
作者
MaP1e-G
发布于
2022年10月1日
许可协议