給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下
標。
你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。
給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
遍歷nums的每個元素,檢查target減去該元素的值是否在nums裡面
注意避免target正好是某元素的兩倍的情況
class
solution
:def
twosum
(self, nums: list[
int]
, target:
int)
-> list[
int]
:for i, num in
enumerate
(nums)
:# 遍歷列表獲取索引和數值
dev = target - num # 算出另乙個元素的匹配值
if dev != num and dev in nums:
# 如果該匹配值不等於num且在nums列表裡存在,匹配成功
return
[i, nums.index(dev)
]elif dev == num and nums.count(dev)
>=2:
# 如果兩個元素相等,那麼只要nums裡面該元素不止1個,即可匹配成功
nums.pop(i)
# 為了找到第二個匹配元素,先把第乙個剔除
return
[i, nums.index(dev)+1
]# 使用.index()方法找到第二個元素的索引,注意該索引是剔除了第乙個元素後的索引,所以需要+1
return
-1
1 兩數之和 python
一.題目 給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 二.思路 1 自己思路 1 雙指標遍歷陣列 ...
python 列表例項 兩數之和
兩數之和 考察點 1 分支流程控制 迴圈流程控制 2 字串常用方法a.index 3 字串遍歷for num in nums 4 不要使用雙層for迴圈,可以成功,但是時間複雜度高 題目 給定乙個整數陣列nums和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數並返回他們的陣列下標 ...
1 兩數之和
給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 解class solution hash nums i...