Dynamic Programming

221. Maximal Square

221. Maximal Square 💡這個題目有動態規劃的最佳解,不過這個題目如果使用窮舉的話是不會超時的,所以我很建議可以就從窮舉來想,再看看能不能優化。 窮舉法 題目給定的矩陣長寬是不定的,而假設今天如果題目的矩陣全部都是

72. Edit Distance

72. Edit Distance 這一題是真的很難的一道題目,難不是難在怎麼寫,是難在這個最短編輯距離的方式是:俄羅斯科學家弗拉基米爾·萊文斯坦在1965年提出的概念。又稱萊文斯坦距離(Levenshtein

91. Decode Ways

91. Decode Ways 這題的題目是如果說給出一串字串,由數字組成,如果要轉換成英文,可以轉換成幾種方式?其中比較特別的就是如果兩個數字剛好不是零為開頭,那像是 "

174. Dungeon Game

174. Dungeon Game class Solution: def calculateMinimumHP(self, dungeon: List[

64. Minimum Path Sum

64. Minimum Path Sum 從最後一個位置向原點出發,每次都往總和比較小的路徑前進,直到原點為止,找出最小的總和。 遞迴 class

62. Unique Paths

62. Unique Paths 自頂向下 class Solution: def uniquePaths(self, m:

55. Jump Game

55. Jump Game 從起點開始,看有哪些座標可以去,選定一個座標後繼續走下去,看看能不能到達終點(超時) class Solution:

70. Climbing Stairs

70. Climbing Stairs 題目的思路在於,當前這個位置可以兩個地方跳上來,第一種是來自從兩階之外,跳了兩階上來,另一種是自一階之外,跳了一階上來。 換句話說如果兩階之外的那個階梯,

509. Fibonacci Number

509. Fibonacci Number 這一題是所有介紹動態規劃最基礎的一個題目,題目要求斐波那契數 ,根據題目定義,可以很簡單的寫出遞迴的方法。 遞迴 class Solution: