不时更新力扣题库,使用python实现,比较通俗易懂,其中注释是我自己的理解:
def two_sum(nums, target):
# 构建hashmap存取数字与索引,其中key为nums里的值,value为索引,方便第二次遍历时取值
hashmap = {}
# 获取列表里的索引以及数字
for ind, num in enumerate(nums):
# 分别赋值
hashmap[num] = ind
# 再次遍历列表
for i, num in enumerate(nums):
# 直接去寻找目标j,如果有就返回,没有就是none
j = hashmap.get(target - num)
if j is not None and i != j:
return [i, j]
if __name__ == '__main__':
print(two_sum([2, 7, 11, 15], 9))