給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。
例如,給定三角形:
[自頂向下的最小路徑和為[2],
[3,4],
[6,5,7],
[4,1,8,3]
]
11
(即,2+3+5+1= 11)。
說明:
如果你可以只使用 o(n) 的額外空間(n 為三角形的總行數)來解決這個問題,那麼你的演算法會很加分。
分析:這道題第一眼看上去就是用動態規劃的思想來做,所以也就順便複習了一下動態規劃的方法,用這種方法來做的話這道題可以很簡單想到思路,從最下面的一行開始求最小,那麼6對應的就是[4,1]中的最小,也就是********[i][j]+=min(********[i+1][j],********[i+1][j+1]),6對應的是它正下方和正下方右邊兩個數的最小值,這也就是動態規劃的式子,下面給出ac**:
class solution
}return ********[0][0];
}};
leetcode 三角形最小路徑
給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為11 即,2 3 5 1 11 2 5,6 11,10,13 15,11,18,16 可以看出,將最後乙個陣列的最小值選出來即可,因為最底層...
leetcode 三角形最小路徑和
給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 說明 如果你可以只使用 o n 的額外空間 n 為三角形的總行數 來解決這個問題,那麼你的演算法會很加分。...
LeetCode 三角形最小路徑和
比較直觀的想法是,使用乙個陣列來儲存每次計算路徑的最小值,這樣順序遍歷下來,最後求一遍這個陣列的最小元素就是最短路徑的值 初步認為是上面的演算法一方面最後找最小值要重新遍歷一遍,另一方面在每層遍歷時都要new乙個陣列比較佔空間 試著把最小值的計算放在迴圈裡,也沒減少耗時,說明耗時的原因不是計算最小值...