题目:
原题链接: https://leetcode-cn.com/problems/two-sum/
解题思路:
利用hash表,保存之前遍历过的元素
在遍历后面的元素时,直接查找是否有target - current_number的值
如果有,直接返回[current_number, target - current_number]
如果没有,把当前数字插入到hash表中,继续遍历
代码实现:
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
his = {}
for index in range(0, len(nums)):
curr_num = nums[index]
other_num = target - curr_num
if other_num in his:
return [his[other_num], index]
his[curr_num] = index
return [0, 0]