LeetCode 120(動態規劃)

2021-08-29 10:22:16 字數 677 閱讀 3539

給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。

例如,給定三角形:

[

[2],

[3,4],

[6,5,7],

[4,1,8,3]

]

自頂向下的最小路徑和為11(即,2+3+5+1= 11)。

說明:

如果你可以只使用 o(n) 的額外空間(n 為三角形的總行數)來解決這個問題,那麼你的演算法會很加分。

本題是動態規劃,最基本的辦法是自底向上遞推,從最後一行向上遞推,因為每個點有兩個選擇,向下或者向右下,所以求出這兩種情況下點到下一行的路徑累加和,取其中較小的值,再逐步向上遞推,求出頂結點到最後一行的最小路徑和。設定乙個二維陣列f[n][n],來儲存第n行第n個結點到最後一行的最小路徑,其中陣列的最下面一行的值就是所給資料的底層行的值。從倒二行出發,求出兩種選擇情況下每個點到最底行的最小路徑和,將這個值儲存到陣列中。逐步向上面一行遞推,遞推方程為:

最後返回頂結點的值即可。**如下:

class solution 

};

leetcode 120 三角形最小路徑

給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。相鄰的結點 在這裡指的是 下標 與 上一層結點下標 相同或者等於 上一層結點下標 1 的兩個結點。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 注意 既...

leetcode 動態規劃

題目如下 給定乙個整型陣列,至少有乙個元素,請計算子陣列最大乘積是多少?子陣列必須是原陣列中連續的一串數字構成的陣列。整數可正可負。例如 給定陣列 2,3,2,4 經過計算,得到最大乘積為6。子陣列為 2,3 根據原貼的解題思路,這道題可以用動態規劃來解,但難度在 呢?負負得正,就可惡在這裡。那這個...

Leetcode 動態規劃

題目 原題鏈結在這裡 最長字串鏈。給乙個單詞列表,找乙個詞鏈,使得詞鏈後乙個單詞由前乙個單詞增加乙個字元得到,求最長詞鏈長度。解答 1 根據詞鏈的定義,短的單詞可以由長的單詞減去單詞中乙個字元得到。因此可以先對單詞列表,按照單詞的長度從大到小排序。2 單詞的最大長度為 16,因此可以對於每個單詞 w...