給你乙個陣列,求從[0,0]位置到[n-1,m-1]的最短路徑。
陣列如圖所示:13
5982
3450
6188
40路徑1→3→1→0→6→1→0是所有路徑中路徑和最小的,所以返回12
**:
publicclass
minpathsum
int row =matrix.length;
int col = matrix[0].length;
int dp = new
int[row][col];
//初始化陣列
dp[0][0] = matrix[0][0];
for(int i=1; i)
for(int i=1; i)
for(int i=1; i)
}return dp[row-1][col-1];
}//時間複雜度o(m*n),空間複雜度o(min(m*n))
public
static
int minpathsum2(int
matrix)
int row =matrix.length;
int col = matrix[0].length;
//壓縮dp陣列為一維陣列,運用翻滾的的方法逐行往下翻滾
int dp = new
int[col];
//初始化陣列
dp[0] = matrix[0][0];
for(int i=1; i)
for(int i=1; i)
}return dp[col-1];
}public
static
void
main(string args) ,,,};
system.out.println(minpathsum1(matrix));
system.out.println(minpathsum2(matrix));
}}
矩陣的最小路徑和
準備校招的!這些是一本書的筆記 程式設計師 面試指南 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 ...
矩陣的最小路徑和
題目 給定乙個矩陣m,從左上角開始每次只能向右或者向下走,最後達到右下角的位置,路徑上所有的數字累加起來就是路徑和,返回所有的路徑中最小的路徑和。舉例 給定的m如下 1 3 5 9 8 1 3 4 5 0 6 1 8 8 4 0 路徑1,3,1,0,6,1,0是所有路徑中路徑和最小的,所以返回12。...