zoukankan      html  css  js  c++  java
  • 64. 最小路径和

    给定一个包含非负整数的 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];
        }
    };
  • 相关阅读:
    mysql忘记root密码解决办法
    laravel 获取所有表名
    跳转/传值(从页面到php文件)
    smarty foreach
    radio单选框
    dedecms实例化对象
    file_get_contents()
    if($a)
    bug解决思路
    git查看远程仓库地址
  • 原文地址:https://www.cnblogs.com/wangshaowei/p/12489823.html
Copyright © 2011-2022 走看看