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

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.

    Note: You can only move either down or right at any point in time.

    注意关系对应之处

    class Solution {
    public:
        int minPathSum(vector<vector<int> > &grid) 
        {
            int m,n;
            int sum = 0;
            m = grid.size();
            n = grid[0].size();
            if(m*n==0)return 0;
            int dp[m+1][n+1];
            dp[1][1] = grid[0][0];
            int i,j;
            for(i=2;i<m+1;i++)
            {
                dp[i][1] = dp[i-1][1] + grid[i-1][0];
            }
             for(i=2;i<n+1;i++)
            {
                dp[1][i] = dp[1][i-1] + grid[0][i-1];
            }
            for(i=2;i<=m;i++)
            for(j=2;j<=n;j++)
            {
                if(dp[i-1][j] < dp[i][j-1])
                    dp[i][j] = dp[i-1][j]+grid[i-1][j-1];
                else
                    dp[i][j] = dp[i][j-1]+grid[i-1][j-1];
                    
            }
            return dp[m][n];
        }
        
    };


    每天早上叫醒你的不是闹钟,而是心中的梦~
  • 相关阅读:
    第七周课程总结&实验报告(五)
    2020软件工程作业02
    自我介绍
    2019学期总结
    2019 第二次实验报告
    git 小错误
    12
    2019第十一周作业
    第十周作业
    第九周
  • 原文地址:https://www.cnblogs.com/vintion/p/4116986.html
Copyright © 2011-2022 走看看