两数之和

last modify

两数之和_牛客题霸_牛客网

问题简述

给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。

思路

  • 使用哈希表保存已经出现过的数字及其下标;

  • 利用差值可以在一次遍历中完成;

Python
class Solution:
    def twoSum(self , numbers: List[int], target: int) -> List[int]:
        
        dt = dict()
        for i, x in enumerate(numbers):
            if (r := target - x) in dt:
                return [dt[r], i + 1]
            else:
                dt[x] = i + 1
        
        return []

Last updated