zoukankan      html  css  js  c++  java
  • 64.Minimum Path Sum

    给定一个矩阵,矩阵中的元素表示成本,求,从矩阵左上角到右下角最小的成本路线,每一次只能向右或者向下走。

    Input:
    [
      [1,3,1],
    [1,5,1],
    [4,2,1]
    ]
    Output: 7
    Explanation: Because the path 1→3→1→1→1 minimizes the sum.

    思路:
    此题跟62题类似,不同点在于,此题计算最小成本,则将DP中存储每一个节点的最小成本即可。对于DP的初始,两边的值需要单独初始化,其余的点:dp[i][j] = min(dp[i-1][j] , dp[i][j-1]) + grid[i][j].

    class Solution {
    public:
        int minPathSum(vector<vector<int>>& grid) {
            int n = grid.size(), m = grid[0].size();
            vector<vector<int>> dp(n, vector<int>(m));
            dp[0][0] = grid[0][0];
            for (int k = 1; k < m; k++) dp[0][k] = grid[0][k] + dp[0][k-1];
            for (int k = 1; k < n; k++) dp[k][0] = grid[k][0] + dp[k-1][0];
            for (int i = 1; i < n; i++) {
                for (int j = 1; j < m; j++) dp[i][j] = min(dp[i][j - 1], dp[i - 1][j]) + grid[i][j];
            }
            return dp[n - 1][m - 1];
        }
    };
  • 相关阅读:
    2017.12.13T19_B2_6.4内部类
    2017.12.13T19_B2_6.3内部类
    python--spider模拟登录
    Redis数据库
    python--spider验证码
    python--Selenium(动态渲染页面爬取)
    python--Ajax
    python绘图实例
    python绘图
    Numpy库收尾(20190806)
  • 原文地址:https://www.cnblogs.com/luo-c/p/13019812.html
Copyright © 2011-2022 走看看