leetcode_c++:Minimum Path Sum (064)
来源:互联网 发布:java网络编程 pdf 编辑:程序博客网 时间:2024/06/04 18:23
题目
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.
算法
DP
O(n^2)
* 本题我们首先可以找出递推关系,比如设存放起点到每个格子 i,j 的最小路径和的二维数组为 MPS[i][j],那么递推公式为:
MPS[i][j] = min(MPS[i-1][j],MPS[i][j-1]) + val[i][j]
* 从左上到右下走,利用一个双重循环来计算迭代的结果。外层循环是行为单位,内层循环是列为单位。每次计算某个格时,其左侧和上册格子是已经计算好的
class Solution {public: int minPathSum(vector<vector<int> >& grid) { if(grid.size()==0) return 0; vector<vector<int> > res(grid); int i,j; for(int j=1;j<res[0].size();++j) res[0][j]+=res[0][j-1]; for(int j=1;j<res.size();++j) res[j][0]+=res[j-1][0]; for(int i=1;i<res.size();++i){ for(int j=1;j<res[i].size();++j) res[i][j]=min(res[i-1][j],res[i][j-1])+grid[i][j]; } return res[grid.size()-1][grid[0].size()-1]; // 注意列的size是不一样的 }};
0 0
- leetcode_c++:Minimum Path Sum (064)
- 064 - Minimum Path Sum
- LeetCode 064 Minimum Path Sum
- LeetCode 064 Minimum Path Sum
- LeetCode 064 Minimum Path Sum
- leetcode 064 Minimum Path Sum
- LeetCode 064 Minimum Path Sum
- leetcode_c++:Minimum Size Subarray Sum (209)
- leetcode 064 —— Minimum Path Sum
- leetcode解题方案--064--Minimum Path Sum
- leetcode_c++:树: Path Sum(112)
- LeetCode: Minimum Path Sum
- LeetCode Minimum Path Sum
- LeetCode : Minimum Path Sum
- [Leetcode] Minimum Path Sum
- Minimum Path Sum
- Minimum Path Sum
- [LeetCode] Minimum Path Sum
- 深究Oracle的隔离级别
- tomcat 中文问题
- Opencv 基于MFC 显示图片 更改图片分辨率 保存图片 入门操作实例
- 第十四周上机实践——项目1-排序函数模板
- java中throw和throws的区别
- leetcode_c++:Minimum Path Sum (064)
- 深度缓冲区,RenderQueue、ZWrite和ZTest
- public void pushValue(String queue, String... values)
- office2007给VBA增加数字签名保证宏安全
- (Tomcat)服务器之web应用的虚拟目录映射和主机搭建
- 贪心算法求解存放磁带问题(vector数组键盘输入,C++sort函数)
- 不容错过的 10 篇前端技术热文
- 【工作日志】
- 自定义View系列教程06--详解View的Touch事件处理