题解 | #矩阵的最小路径和#
矩阵的最小路径和
https://www.nowcoder.com/practice/7d21b6be4c6b429bb92d219341c4f8bb
public class 矩阵的最小路径和 {
public int minPathSum (int[][] matrix) {
int m=matrix.length;
int n=matrix[0].length;
if (m==0||n==0){
return 0;
}
int dp[][]=new int[m][n];
//初始化
dp[0][0]=matrix[0][0];
for (int i = 1; i<m; i++) {
dp[i][0]=matrix[i][0]+dp[i-1][0];
}
for (int i = 1; i<n; i++) {
dp[0][i]=matrix[0][i]+dp[0][i-1];
}
//正式开始
for (int i = 1; i <m; i++) {
for (int j = 1; j <n; j++) {
dp[i][j]=Math.min(dp[i][j-1],dp[i-1][j])+matrix[i][j];
}
}
return dp[m-1][n-1];
// write code here
}
}
挺简单的一道题。先初始化第一列和第一行的步数。最后计算除了第一列和第一行外的最小路径和就很简单了
