給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。
例如,給定三角形:
[自頂向下的最小路徑和為[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]
]
時間複雜度就為o(n)-----n指的是所有節點的個數;
但是最後一次找最小節點還需要o(n);
所以從的時間複雜度為o(n);空間複雜度為o(1)
code:
class solution
};
時間複雜度為:這樣就不需要我的排序了;但是空間複雜度為o(n)------n為最後一層的節點數(也就是總行數); leetcode 三角形最小路徑和
給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 說明 如果你可以只使用 o n 的額外空間 n 為三角形的總行數 來解決這個問題,那麼你的演算法會很加分。...
LeetCode 三角形最小路徑和
比較直觀的想法是,使用乙個陣列來儲存每次計算路徑的最小值,這樣順序遍歷下來,最後求一遍這個陣列的最小元素就是最短路徑的值 初步認為是上面的演算法一方面最後找最小值要重新遍歷一遍,另一方面在每層遍歷時都要new乙個陣列比較佔空間 試著把最小值的計算放在迴圈裡,也沒減少耗時,說明耗時的原因不是計算最小值...
三角形最小路徑和
一 問題解釋 給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。如 給定三角形11 即2 3 5 1 11 二 思路解釋 類似 楊輝三角 問題,採用動態規劃演算法 自三角形的第二行從上到下遍歷,體現在下標為i 1。因為二維向量由i 0開始,i 0代表第一行。每一行,從前...