LeetCode每日一題 兩數之和

2021-10-03 13:44:01 字數 1618 閱讀 1464

【前言】堅持日更leetcode刷題系列

不積跬步,無以至千里;不積小流,無以成江海。願與諸君共勉!

【題目】1.兩數之和

題目描述:給定乙個整數陣列nums和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。

示例:

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

因為 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

思路一:通過兩層for迴圈,因為不能使用陣列中同樣的元素,第一層從頭遍歷到尾部元素減一,第二層遍歷從第一層的 i 值遍歷到尾。**如下:

class

solution

(object):

deftwosum

(self, nums, target)

:"""

:type nums: list[int]

:type target: int

:rtype: list[int]

"""index =

for i in

range

(len

(nums)-1

):for j in

range

(i,len

(nums)):

if(i

+nums[j]

==target)

:return index

執行結果:

思路二:通過字典作為儲存工具,利用雜湊表的方式進行求解。**如下:

class

solution

(object):

deftwosum

(self, nums, target)

:"""

:type nums: list[int]

:type target: int

:rtype: list[int]

"""hashmap =

#因為我們想得到index,所以我們將nums作為鍵

for index,num in

enumerate

(nums)

: another_num = target - num

if(another_num in hashmap)

:return

[hashmap[another_num]

,index]

#注意return時兩個index的順序

else

: hashmap[num]

= index

return

none

python enumerate函式

python 字典

演算法動畫詳解,推薦**《動畫**演算法:兩數之和》

Leetcode每日一題 兩數相加

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。剛拿到題目的時候沒有仔細思考,先想的是寫乙...

leetcode每日一題 2 兩數相加

題目 給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 ...

LeetCode每日一題 回文數

前言 堅持日更leetcode刷題系列 不積跬步,無以至千里 不積小流,無以成江海。願與諸君共勉!題目 9.回文數 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從...