Leetcode Top100 1 兩數之和

2021-10-02 17:09:56 字數 1184 閱讀 3369

給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。

你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。

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

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

所以返回 [0, 1]

解法1:暴力法

直接用兩個迴圈會導致超出時間限制,所以第二個迴圈從i+1開始:

class

solution

: def twosum

(self, nums: list[

int]

, target:

int)

-> list[

int]

:for i in range

(len

(nums)):

for j in range

(i+1

,len

(nums)):

if(target - nums[i]

== nums[j]):

return

[i, j]

解法二:利用字典

利用字典,建立乙個空字典,把target-nums[i] 放入字典,然後和之後的數字進行比較,如果相同,返回相應的:

速度確實提高很多。

LeetCode top100 每日溫度

請根據每日 氣溫 列表,重新生成乙個列表。對應位置的輸出為 要想觀測到更高的氣溫,至少需要等待的天數。如果氣溫在這之後都不會公升高,請在該位置用 0 來代替。例如,給定乙個列表 temperatures 73,74,75,71,69,72,76,73 你的輸出應該是 1,1,4,2,1,1,0,0 ...

LeetCode top100 顏色分類

給定乙個包含紅色 白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色 白色 藍色順序排列。此題中,我們使用整數 0 1 和 2 分別表示紅色 白色和藍色。注意 不能使用 庫中的排序函式來解決這道題 題目分析 輸入 2,0,2,1,1,0 輸出 0,0,1,1,...

LeetCode top100 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。題目分析 有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。輸入 輸出 true 輸入 輸出 true 輸入 輸出 false 思路 一 使用棧的方法,後進先出,如果遇見左括號入棧,右括號出戰,最終判...