LeetCode OJ - Minimum Path Sum
来源:互联网 发布:手机信号屏蔽软件下载 编辑:程序博客网 时间:2024/06/03 23:01
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.
分析:动态规划,递归和迭代都行
class Solution { int dp[1000][1000];public: int DFS(vector<vector<int> > &grid, int i, int j) { if(i < 0 || j < 0) return INT_MAX; if(dp[i][j] != -1) { return dp[i][j]; } dp[i][j] = min( DFS(grid, i - 1, j) , DFS(grid, i, j - 1) ) + grid[i][j]; return dp[i][j]; } int minPathSum(vector<vector<int> > &grid) { int m = grid.size(); int n = grid[0].size(); for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { dp[i][j] = -1; } } dp[0][0] = grid[0][0]; return DFS(grid, m - 1, n - 1); }};
class Solution { int dp[1000][1000];public: int minPathSum(vector<vector<int> > &grid) { int m = grid.size(); int n = grid[0].size(); int i, j; int path = 0; for(i = 0; i < n; i++) { dp[0][i] = path + grid[0][i]; path = dp[0][i]; } path = 0; for(j = 0; j < m; j++) { dp[j][0] = path + grid[j][0]; path = dp[j][0]; } int ret = INT_MAX; for(i = 1; i < m; i++) { for(j = 1; j < n; j++) { dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j]; } } return dp[m -1][n - 1]; }};
0 0
- LeetCode OJ:Minimum Path Sum
- LeetCode OJ - Minimum Path Sum
- LeetCode OJ Minimum Path Sum
- <LeetCode OJ> 64. Minimum Path Sum
- LeetCode OJ-64.Minimum Path Sum(DP)
- leetcode oj java 64. Minimum Path Sum
- LeetCode: Minimum Path Sum
- LeetCode Minimum Path Sum
- LeetCode : Minimum Path Sum
- [Leetcode] Minimum Path Sum
- [LeetCode] Minimum Path Sum
- [Leetcode] Minimum Path Sum
- [LeetCode]Minimum Path Sum
- [leetcode]Minimum Path Sum
- LeetCode-Minimum Path Sum
- [leetcode] Minimum Path Sum
- LeetCode - Minimum Path Sum
- LeetCode:Minimum Path Sum
- (十)解释创建的简单publisher和subscriber
- makefile讲义(1)——makefile基础(概述)
- mybatis+spring maven下 整合 完整demo
- 提高VS2008的C++项目编译速度——开启多核编译
- 2014华为机试——按照升序排列返回整型数组中包含指定整数的元素
- LeetCode OJ - Minimum Path Sum
- 2014Esri全球用户大会之Geodatabase
- 预处理语句与存储过程
- NCP1851特性、参数介绍及NCP1851样片申请指南
- ApplicationContextAware的使用
- 指针的大小到底是由谁决定?是多少?
- (十一)创建一个简单的service和client
- MySQL主从复制与读写分离
- 在php中使用gnuplot绘图