题解 | #最小路径和#

矩阵的最小路径和

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

import java.util.*;


public class Solution {
    /**
     * 
     * @param matrix int整型二维数组 the matrix
     * @return int整型
     */
    public int minPathSum (int[][] matrix) {
        if(matrix == null || matrix.length == 0 || matrix[0].length == 0) return 0 ;
        int r_l = matrix.length ;
        int c_l = matrix[0].length ;
        //f[i][j]表示到达(i,j)的最小路径和
        int f[][] = new int[r_l][c_l] ;
        for(int i = 0 ; i < r_l ; i ++) {
            for(int j = 0 ; j < c_l ; j ++) {
                if(i == 0 && j == 0) {//原点
                    f[i][j] = matrix[i][j] ;
                } else if(i == 0) {//这能从左边来
                    f[i][j] = matrix[i][j] + f[i][j-1] ;
                } else if(j == 0) {//只能从上边来
                    f[i][j] = matrix[i][j] + f[i-1][j] ;
                } else {//可以从上边或者右边来,取最优方案
                    f[i][j] = matrix[i][j] + Math.min(f[i-1][j] , f[i][j-1]) ;
                }
            }
        }
        return f[r_l-1][c_l-1] ;
    }
}

一个菜鸟的算法刷题记录 文章被收录于专栏

分享一个菜鸟的成长记录

全部评论

相关推荐

11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务