题解 | #矩阵的最小路径和#

矩阵的最小路径和

https://www.nowcoder.com/practice/7d21b6be4c6b429bb92d219341c4f8bb

import java.util.*;


public class Solution {
    /**
     * 
     * @param matrix int整型二维数组 the matrix
     * @return int整型
     */
    public int minPathSum (int[][] matrix) {
        // write code here
	  //行长度
        int m=matrix.length;
	  //列长度
        int n=matrix[0].length;
	  //初始化DP数组
        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-1][j]+matrix[i][j],dp[i][j-1]+matrix[i][j]);
            }
        }


        return dp[m-1][n-1];
    }
}

全部评论

相关推荐

05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务