1. 程式人生 > 其它 >20201219-Leetcode又見兩數之和

20201219-Leetcode又見兩數之和

技術標籤:LeetCode

好久不刷leetcode,又見兩數之和。

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        #dict = {}
        for i, n in enumerate(nums):
            #dict[n]=i
            if target - n in dict:
                return [dict[target-n],i]
            dict[n]=i

#dict[n]=i 不能放在if前面的原因:
# 1. 如果target是相同的兩個數之和,target - n 在dict會錯誤的找到自己 # 2. 如果list裡存在相同的數字,則dict裡面新增多次,而dict索引對應的key值時候,只取最後一個/最新加入的。如圖,不滿足需求。

在這裡插入圖片描述