120 三角形最小路徑和

2021-10-08 02:24:29 字數 1391 閱讀 1106

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

相鄰的結點 在這裡指的是 下標 與 上一層結點下標 相同或者等於 上一層結點下標 + 1 的兩個結點。

例如,給定三角形:

[[2],

[3,4],

[6,5,7],

[4,1,8,3]

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

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

class

solution

int n = ********.

size()

;if(n==1)

vectorint>>

dp(n,vector<

int>

(n,0))

; dp[0]

[0]=********[0]

[0];

dp[1]

[0]= dp[0]

[0]+********[1]

[0];

dp[1]

[1]= dp[0]

[0]+********[1]

[1];

//cout<<1(n==2)

for(

int i=

2;i++i)

else

if(j==********[i]

.size()

-1)else}}

int min_res = int_max;

//cout(int j=

0;j<********[n-1]

.size()

;++j)

return min_res;}}

;11120-san-jiao-xing-zui-xiao-lu-jing-he-by-he-zi-

11/

class

solution

int n = ********.

size()

;if(n==1)

vector<

int>

dp(n,0)

; dp[0]

= ********[0]

[0];

//cout(int i=

1;i++i)

dp[0]

= ********[i][0

]+dp[0]

;}//cout<<1for(

int i=

0;i<********[n-1]

.size()

;++i)

return min_res;}}

;

120 三角形最小路徑和

我現在知道怎麼結合遞迴和動態規劃的方法了,不需要寫出遞迴到方法。當熟練後,繼續用遞迴的方式思考問題,只不過是在腦中將其轉化為動態規劃,這道題就是例子。只不過我只寫出了n2的,對我來說我已經挺滿意了,畢竟我本地測試後oj一次性通過 阿,我知道了,他們到空間複雜的n是指每次只儲存上一行的值,還有人更雞賊...

120 三角形最小路徑和

給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3 4 6,5 7 4,1 8,3 自頂向下的最小路徑和為 11 即,2 3 5 1 11 說明 如果你可以只使用 o n 的額外空間 n 為三角形的總行數 來解決這個問題,那麼你的演算法會很加分。...

120 三角形最小路徑和

120.三角形最小路徑和 給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為11 即,2 3 5 1 11 說明 如果你可以只使用 o n 的額外空間 n 為三角形的總行數 來解決這個問題,...