三角形的最短路徑

2021-10-03 14:34:12 字數 619 閱讀 5515

乙個三角形,找出從上到下最小路徑和,每一步只能移動到下一行相鄰的節點。

例如:1 

5        4

6    2      7 

4     1     8       3

最小路徑為1+4+2+1 = 8

輸入乙個vector陣列,輸出最小值的和

思路:我們從倒數第二層開始,向上進行遍歷,每次與其相鄰的數進行相加,找出最小的乙個

dp[i][j] = min(dp[i+1][j] , dp[i+1][j+1] + min_sum[i][j])

dp表示最小路徑,dp[i][j] 表示(i,j)的最小路徑和

這樣從下向上遍歷,最後[0][0]節點就是最小路徑的和。

class solution

}return sum_min[0][0];

}};

**中沒有開闢輔助空間,直接在原陣列中進行修改,所以是

dp[i][j] += min(dp[i+1][j],dp[i+1][j+1]);

道理都是一樣的,理解了思路,最重要的是能把思路寫出來,這並不容易。

三角形最佳路徑問題

總時間限制 1000ms 記憶體限制 65536kb 描述如下所示的由正整數數字構成的三角形 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 從三角形的頂部到底部有很多條不同的路徑。對於每條路徑,把路徑上面的數加起來可以得到乙個和,和最大的路徑稱為最佳路徑。你的任務就是求出最佳路徑上的數...

求大三角形中三角形個數

一道筆試程式設計題要求求乙個大三角形中所有小三角形的個數,大約是下面這種情況 首先想到是的將問題由求邊長為n的三角形個數 求邊長為n 1的三角形個數 求邊長為1的三角形個數 1,回溯求得所有三角形個數。但是再仔細一看因為有重疊三角形和倒置的三角形,所以這個方法不可行。接著找到三角形個數由三部分組成 ...

經典演算法 (三)帕斯卡三角形(楊輝三角形)

楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在1654年發現這一規律的,比楊輝要遲393年,比賈憲遲600年。簡介 楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在165...