一天一道LeetCode

本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github

欢迎大家关注我的新浪微博,我的新浪微博

欢迎转载,转载请注明出处

(一)题目

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.

(二)解题

题目大意:求从m*n的矩阵的左上角走到右下角的所有路径中,路径上的值加起来最小的路径。

思路可以参考:【一天一道LeetCode】#62. Unique Paths &&【一天一道LeetCode】#63. Unique Paths II

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        int row = grid.size();
        int col = grid[0].size();
        vector<vector<int>> path = grid; //path纪录当前点到右下角点的路径和最小值
        //对矩阵进行改造,可以避免考虑越界
        vector<int> temp(col,2147483647);
        path.push_back(temp);
        for(int i = 0 ; i < row ; i++)
        {
            path[i].push_back(2147483647);
        }

        for(int i = row-1 ; i >=0 ; i--)
            for(int j = col-1 ; j>=0;j--)
            {
                if (i==row-1&&j==col-1) continue;//终点直接跳过
                if(path[i][j] ==grid[i][j])
                {
                    path[i][j] +=min(path[i+1][j],path[i][j+1]);//每一点到终点的路径和最小值等一向下和向右走的最小值加上自身
                }
            }
        return path[0][0];
    }
};

最新文章

  1. .net字符串数组查找方式效率比较
  2. HDU 3461 Code Lock(并查集)
  3. src url href uri的区别和联系
  4. 微信公众号开发中遇到的几个bug
  5. CSS 会被继承的属性
  6. CSS选择器,CSS3选择器
  7. Spring REST实践之安全
  8. Decorator设计模式浅谈
  9. div整体布局分析
  10. Android多线程.断点续传下载
  11. 【转】shell脚本实现多台服务器自动巡检--可参考学习
  12. android新窗口以及传值
  13. 使用js主函数的原因是等文档加载完了才给里面的元素添加东西 如果不使用主函数则文档加载时候无法找到元素则不能成功给元素添加事件
  14. Linux 练习题(2)
  15. rac添加新节点的步骤与方法2
  16. Codeforces Beta Round #63 (Div. 2)
  17. day17(tomcat的安装,HTTP)
  18. switch语句语法
  19. USB Mass Storage Class – Bulk Only Transport - Error Handling
  20. SYSCALL_DEFINE3

热门文章

  1. mongoDB安装和启动
  2. Docker 编辑网络配置文件
  3. Android源码解析——AsyncTask
  4. RunLoop总结:RunLoop 与GCD 、Autorelease Pool之间的关系
  5. 初识Vulkan
  6. XMPP 测试工具
  7. Windows 为右键菜单瘦身
  8. Android事件分发传递回传机制详解
  9. [Flask]学习杂记--模板
  10. Android Multimedia框架总结(四)MediaPlayer中从Java层到C++层类关系及prepare及之后其他过程