給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。
示例:給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
python: list.index()
class
solution
:def
twosum
(self, nums: list[
int]
, target:
int)
-> list[
int]
:for i,num1 in
enumerate
(nums)
: num2 = target - num1
if num2 in nums:
j = nums.index(num2)
if i is
not j:
return i, j
利用字典
思路與上述思路相同,但是利用了詞典,查詢速率應該比list.index()方法好
class
solution
:def
twosum
(self, nums: list[
int]
, target:
int)
-> list[
int]
: dic =
for i,num1 in
enumerate
(nums)
: num2 = target - num1
if num2 in dic and dic[num2]
!= i:
return i, dic[num2]
dic[num1]
= i
LeetCode刷題 01 兩數之和
給定乙個整數陣列nums和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所...
Leetcode刷題01 求兩數之和
題目 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 ...
LeetCode刷題之求兩數之和
題目 給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 解決思路 1.遍歷兩次列表,然後判斷遍歷得到的數...