給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。
示例
給定 nums = [2, 7, 11, 15], target = 9思路因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
我也是受到了其他大神**的啟發。這個題可以很巧妙的運用字典的對映關係來做。我們遍歷陣列中的每乙個元素,如果該元素沒有在字典中,則在字典中新增新元素——>key為target-當前元素值,value為當前元素的index。如果元素在字典中,則說明我們找到了目標對,返回相應形式即可。
29用例,88ms,擊敗56%python3提交記錄
class
solution
:def
twosum
(self, nums, target)
:"""
:type nums: list[int]
:type target: int
:rtype: list[int]
"""dict
=for i in
range
(len
(nums)):
if nums[i]
indict
:return
(dict
[nums[i]
],i)
else
:dict
[target-nums[i]
]= i
1 兩數之和 Python LeetCode
剛開始接觸演算法方面,好多都不懂,打算每刷一題就整理一下 給定乙個整數數列,找出其中和為特定值的那兩個數。你可以假設每個輸入都只會有一種答案,同樣的元素不能被重用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 解法一 剛開...
2 兩數相加 Python LeetCode
兩數相加 給定兩個非空鍊錶來代表兩個非負整數,位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 解法 把鍊錶l1和l2中的數字...
python leetcode 1 兩數之和
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...