自己的理解
d作為字典一開始是沒有鍵值對的
我們假設 題目的陣列是 [3,5,9] 所得的和是8
那麼當我們在遍歷陣列的時候
第乙個值3是不在d這個字典裡
然後我們在字典d裡加入乙個鍵值對 3:0
當我們第二個數字進來的時候
再用 8-5我們可以得到 條件為真 3在d裡
直接返回鍵值對
這個是利用了 字典讓速度更快
class
solution
: def twosum
(self,nums,target)
: d =
n =len(nums)
for x in
range
(n):
if target - nums[x]
in d:
return d[target-nums[x]],x
else
: d[nums[x]
]= x
3ge-jie-fa/
演算法 兩數之和,三數之和
給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 leetcode 思路 兩層for迴圈時間複雜度是o ...
演算法 兩數之和
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...
演算法 兩數之和
問題描述 給定乙個整數陣列nums和乙個目標值 target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...