美文网首页
leetcode题目64. 最小路径和

leetcode题目64. 最小路径和

作者: castlet | 来源:发表于2022-03-02 23:31 被阅读0次

    题目描述

    链接:https://leetcode-cn.com/problems/minimum-path-sum/
    给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

    说明:每次只能向下或者向右移动一步。

    示例

    输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
    输出:7
    解释:因为路径 1→3→1→1→1 的总和最小。
    

    代码

        public int minPathSum(int[][] grid) {
            // f(m, n) = grid[m - 1][n - 1] + min(f(m - 1, n) , f(m, n-1))
    
            if (grid == null || grid.length <= 0) {
                return 0;
            }
    
            int rowCount = grid.length;
            int columnCount = grid[0].length;
            int[] result = new int[columnCount];
    
            for (int row = 0; row < rowCount ; row ++) {
                for (int column = 0; column < columnCount; column ++) {
                    if (row == 0 && column == 0) {
                        result[column] = grid[row][column];
                        continue;
                    }
                    if (column == 0) {
                        result[column] = grid[row][column] + result[column];
                        continue;
                    }
                    if (row == 0) {
                        result[column] = grid[row][column] + result[column - 1];
                        continue;
                    }
                    result[column] = grid[row][column] + Math.min(result[column], result[column - 1]);
                }
            }
            return result[columnCount - 1];
        }
    

    相关文章

      网友评论

          本文标题:leetcode题目64. 最小路径和

          本文链接:https://www.haomeiwen.com/subject/arqyrrtx.html