码迷,mamicode.com
首页 > 其他好文 > 详细

64. 最小路径和

时间:2020-03-13 23:27:03      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:包含   public   示例   ++   style   rar   输出   一个   解法   

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

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

示例:

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

解:这题也是动态规划,和上一题不同路径解法基本一样

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        vector<vector<int>> vec_vec= grid;
        int minPath=0;
        for(int i=0;i<vec_vec.size();i++)
        {
            for(int j=0;j<vec_vec[0].size();j++)
            {
                if(i==0&&j==0)
                {
                    //minPath=vec_vec[i][j];
                }
                else if(i==0)
                {
                    vec_vec[0][j]+=vec_vec[0][j-1];
                }
                else if(j==0)
                {
                    vec_vec[i][0]+=vec_vec[i-1][0];
                }
                else
                {
                    vec_vec[i][j]+=min(vec_vec[i][j-1],vec_vec[i-1][j]);
                }
            }
        }
        return vec_vec[grid.size()-1][grid[0].size()-1];
    }
};

 

64. 最小路径和

标签:包含   public   示例   ++   style   rar   输出   一个   解法   

原文地址:https://www.cnblogs.com/wangshaowei/p/12489823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!