problem:

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.

Hide Tags

Array Dynamic
Programming

题意:从矩阵的左上方到右下方寻找一条加权最小的路径

thinking:

(1)矩阵的路径问题(求路径总数。带障碍物的路径总数。加权最小、最大路径等),因为具有清晰且简易的状态转移公式,

统统能够用DP法解决,时间复杂度都为O(m*n)

(2) 用DP解决全局最优问题!

。该题是否具有局部最优解呢。状态转移公式:a[i][j] = min(a[i-1][j], a[i][j-1]) + grid[i][j];

规定了每一步的选择都是最优解。所以局部最优是成立的

code:

class Solution {
public:
int minPathSum(vector<vector<int> > &grid) {
vector<vector<int> >::const_iterator con_it=grid.begin();
int m=grid.size();
int n=(*con_it).size();
vector<int> tmp(n,0);
vector<vector<int> > a(m,tmp);
if(m==0 || n==0)
return 0;
a[0][0]=grid[0][0];
for(int i=1;i<m;i++)
a[i][0]=a[i-1][0]+grid[i][0];
for(int j=1;j<n;j++)
a[0][j]=a[0][j-1]+grid[0][j];
for(int i = 1; i < m; i++)
for(int j = 1; j < n; j++)
a[i][j] = min(a[i-1][j], a[i][j-1]) + grid[i][j];
return a[m-1][n-1];
}
};

leetcode || 64、Minimum Path Sum的更多相关文章

  1. 【LeetCode练习题】Minimum Path Sum

    Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...

  2. LeetCode(64) Minimum Path Sum

    题目 Total Accepted: 47928 Total Submissions: 148011 Difficulty: Medium Given a m x n grid filled with ...

  3. LeetCode OJ:Minimum Path Sum(最小路径和)

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...

  4. 【LeetCode】064. Minimum Path Sum

    题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right w ...

  5. LeetCode 64. 最小路径和(Minimum Path Sum) 20

    64. 最小路径和 64. Minimum Path Sum 题目描述 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明: 每次只能向下或 ...

  6. Leetcode之动态规划(DP)专题-64. 最小路径和(Minimum Path Sum)

    Leetcode之动态规划(DP)专题-64. 最小路径和(Minimum Path Sum) 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. ...

  7. 【LeetCode】64. Minimum Path Sum

    Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...

  8. 刷题64. Minimum Path Sum

    一.题目说明 题目64. Minimum Path Sum,给一个m*n矩阵,每个元素的值非负,计算从左上角到右下角的最小路径和.难度是Medium! 二.我的解答 乍一看,这个是计算最短路径的,迪杰 ...

  9. leecode 每日解题思路 64 Minimum Path Sum

    题目描述: 题目链接:64 Minimum Path Sum 问题是要求在一个全为正整数的 m X n 的矩阵中, 取一条从左上为起点, 走到右下为重点的路径, (前进方向只能向左或者向右),求一条所 ...

随机推荐

  1. C语言面试问题

    内容源自:C语言面试题大汇总 P.S.只摘取了自己觉得可能会被问到的以及不会的. static有什么用途?(请至少说明两种) 1.限制变量的作用域2.设置变量的存储域 引用与指针有什么区别? 1) 引 ...

  2. ElasticSearch位置搜索

    ElasticSearch位置搜索 学习了:https://blog.csdn.net/bingduanlbd/article/details/52253542 学习了:https://blog.cs ...

  3. Android 5.0 怎样正确启用isLoggable(一)__使用具体解释

    isLoggable是什么 在Android源代码中,我们常常能够看到例如以下代码: //packages/apps/InCallUI/src/com/android/incallui/Log.jav ...

  4. 怎样用Jenkins触发还有一个Jenkins---Global build solution

    由于上次发的帖子太受欢迎,导致有非常多人问也有很多其它的人想知道.2个不同地域位置的Jenkins怎样自己主动触发相互的Job.当今非常多公司做的产品仅仅是全球化工作的一部分.须要这部分做好以后去做另 ...

  5. FastDFS安装配置过程中出现错误提示"/home/yuqing/fastdfs" can't be accessed, error info: No such file or directory

    解决: mkdir -p /home/yuqing/fastdfs 这回正常了,查看启动成功与否 [root@localhost FastDHT]# ps -ef |grep track |grep ...

  6. java中Queue接口

    Queue接口与List.Set同一级别,都是继承了Collection接口.LinkedList实现了Queue接 口.Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类 ...

  7. 本地化,将cancel替换成"取消"

    在工程文件中选info,添加下面内容

  8. 如何取得jvm实例的cpu占用(转)

    时间 2014-08-29 17:11:34 田加国的博客 原文  http://www.tianjiaguo.com/programming-language/java-language/如何取得j ...

  9. CentOS下febootstrap自制Docker的CentOS6.6和7.1 Docker镜像

    docker image centos febootstrap CentOS 6.6和7.1 Docker自制CentOS镜像 安装: ? 1 yum -y install febootstrap 添 ...

  10. 一个漂亮而强大的RecyclerView

    代码地址如下:http://www.demodashi.com/demo/13470.html 简介 主要提供了简单易用强大的RecyclerView库,包括自定义刷新加载效果.极简通用的万能适配器A ...