两数之和

发布时间 2023-11-26 21:31:16作者: Star_Rising

梦开始的地方,两数之和

巧妙之处在于value做key,idx做val

可能会问:如果value冲突的?即两个一样的值
首先这是两数和问题:

  1. 如果这两个重复的数正好被选上,那么一个记录在map中,一个未记录,没问题
  2. 如果只是一个数倍选上,那么map中的记录会被后续出现的重复数更新,但并不影响(题设有说明)
import copy

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        records = dict()
        for idx, val in enumerate(nums):
            if target - val in records.keys():
                return [records[target - val], idx]
            else:
                records[val] = idx

        return []