1. 程式人生 > >python3:LeetCode第一題,兩數之和

python3:LeetCode第一題,兩數之和

給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。

你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。

示例:

給定 nums = [2, 7, 11, 15], target = 9

因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]在這裡插入圖片描述

由於每個輸入只對應一種答案,所以只用遍歷一次,就可以得到答案

class Solution:
def twoSum(self, nums, target):
“”"
:type nums: List[int]
:type target: int
:rtype: List[int]
“”"
d = {}
for i,num in enumerate(nums):

        if target - num in d:
            return [i, d[target - num]]
        d[num] = i

建立一個字典,鍵值對為“數字:序號”,用enumerate來獲得。如果target - num在字典中,輸出num和target - num的序號,否則,將num和其序號加入字典
在這裡插入圖片描述