• 【力扣 048】64. 最小路径和


    64. 最小路径和

    给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

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

    示例 1:


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

    输入:grid = [[1,2,3],[4,5,6]]
    输出:12
     

    提示:

    m == grid.length
    n == grid[i].length
    1 <= m, n <= 200
    0 <= grid[i][j] <= 100

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/minimum-path-sum
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    代码实现

    class Solution {
    public:
        int minPathSum(vector<vector<int>>& grid) 
        {
            if(!grid.size()) return 0;
            int row = grid.size(), col = grid[0].size(); 
            
            int dp[row][col];
            dp[0][0] = grid[0][0];
    
            for(int i = 1; i < col; ++i)
                dp[0][i] = grid[0][i] + dp[0][i-1];
    
            for(int i = 1; i < row; ++i)
                dp[i][0] = grid[i][0] + dp[i -1][0];
    
            for(int i = 1;  i < row; ++i)
                for(int j = 1; j < col; ++j)
                    dp[i][j] = grid[i][j] + min(dp[i][j-1], dp[i-1][j]);  
            return dp[row-1][col-1];
        }
    };
  • 相关阅读:
    注意:MagickReadImageBlob() 引发的问题
    Notepad++ 【自动完成】与【输入时提示函数参数】互相冲突,无奈
    收藏:png8和png24的根本区别
    【物理分辨率】与【逻辑分辨率】
    算法
    算法
    Linux 用户和文件
    Oracle索引技术研究
    Linux Socket
    Linux Socket
  • 原文地址:https://www.cnblogs.com/sunbines/p/16295281.html
Copyright © 2020-2023  润新知