原創
問題描述:
給出乙個 n x m 的矩陣,從左上角開始每次只能向右走或者向下走,
最後達到右下角的位置,路徑中所有數字累加起來就是路徑和,返回所有路徑的最小路徑和。
比如:1 3 5 9
8 1 3 4
5 0 6 1
8 8 4 0
最短路徑是12
解題思路:
此題屬於動態規劃類題目,我們可以用乙個dp二維陣列存放最短路徑,dp[i][j]就是左上角到位置(i,j)
的最短路徑,我們要求的是dp[n][m],我們只需要從dp[i-1][j],dp[i][j-1]這兩個中選出最小者再加上
dp[n][m]自己本身的路徑就可以了。
**:
1 #include2 #include3view code4int min(int a,intb)5
89intmain()10
2324
int j; //
陣列賦值
25for(i=0;i<=n-1;i++)
26for(j=0;j<=m-1;j++)
27 scanf("
%d",&arr[i][j]);
2829
for(i=0;i<=n-1;i++)
30for(j=0;j<=m-1;j++)
31
41 printf("
%d",dp[n-1][m-1
]);42
return0;
43 }
2018-03-19
矩陣的最小路徑和
準備校招的!這些是一本書的筆記 程式設計師 面試指南 it名企演算法與資料結構題目最優解 左程雲 給定乙個矩陣m,從左上角開始每次只能向右或者向下走,最後到達右下角的位置,路徑上所有的數字累加起來就是路徑和,返回所有的路徑中最小的路徑和 舉例 如果給定的m如下 135 9 813 4 506 1 8...
矩陣的最小路徑和
給定乙個矩陣m,從左上角開始每次只能向右或者向下走,最後到達右下角的位置,路徑上所有的數字累加起來就是路徑和,返回所有的路徑中最小的路徑和。方法一 遞迴 coding utf 8 defsolution m,l n l m 0 0 if len m 1 and len m 0 1 return l ...
nowcoder 矩陣最小路徑和
有乙個矩陣map,它每個格仔有乙個權值。從左上角的格仔開始每次只能向右或者向下走,最後到達右下角的位置,路徑上所有的數字累加起來就是路徑和,返回所有的路徑中最小的路徑和。給定乙個矩陣map及它的行數n和列數m,請返回最小路徑和。保證行列數均小於等於100.測試樣例 1,2,3 1,1,1 2,3 返...