解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
程序:
暴力解法
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
l = len(nums)
for i in range (l):
for j in range(i+1,l):
if nums[i] + nums[j] == target:
return [i,j]
哈希解法
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
hashtable = dict()
for i, num in enumerate(nums):
if target - num in hashtable:
return [hashtable[target - num], i]
hashtable[nums[i]] = i
return []
leetcode-128
可能使用函数
enumerate()
- enumerate()是python的内置函数
- enumerate在字典上是枚举、列举的意思
- 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
- 使用: for i, num in enumerate(nums):
- num是键值,i是序号