13.8 Minimum Path Sum
来源:互联网 发布:销售奖励政策 知乎 编辑:程序博客网 时间:2024/06/05 19:26
Link: https://oj.leetcode.com/problems/minimum-path-sum/
My thought: Simple 2d-DP. I passed OJ on my first attempt.
Approach I : Time: O(mn), Space: O(1)
public class Solution { //my 1st attempt: g[i][j] = min(g[i-1][j], g[i][j-1]) + g[i][j] public int minPathSum(int[][] grid) { if(grid == null) return 0; //init the 1st row for(int j = 1; j < grid[0].length; j++){ grid[0][j] += grid[0][j-1]; } //init the 1st col for(int i = 1; i < grid.length; i++){ grid[i][0] += grid[i-1][0]; } for(int i = 1; i < grid.length; i++){ for(int j = 1; j < grid[0].length; j++){ grid[i][j] += Math.min(grid[i-1][j], grid[i][j-1]); } } return grid[grid.length-1][grid[0].length-1]; }}
Approach II: DP with 滚动数组
Time: O(mn), Space: O(n)
public class Solution { //my 2nd attempt public int minPathSum(int[][] grid) { if(grid == null || grid.length == 0 || grid[0].length == 0) return 0; int[] res = new int[grid[0].length]; //init the 1st row: i = 0 res[0] = grid[0][0]; for(int j = 1; j < grid[0].length; j++){ res[j] = res[j-1] + grid[0][j]; } for(int i = 1; i < grid.length; i++){ res[0] += grid[i][0]; for(int j = 1; j < grid[0].length; j++){ res[j] = Math.min(res[j], res[j-1]) + grid[i][j]; } } return res[grid[0].length-1]; }}
相关题目:10.2 Unique Paths,10.3 Unique Paths II
0 0
- 13.8 Minimum Path Sum
- 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
- [Leetcode] Minimum Path Sum
- Minimum Path Sum
- [LeetCode]Minimum Path Sum
- Minimum Path Sum
- Minimum Path Sum
- Minimum Path Sum
- Minimum Path Sum
- [leetcode]Minimum Path Sum
- Minimum Path Sum
- LeetCode-Minimum Path Sum
- Android actionBar
- 13.7 Scramble String
- Codeforces Round #259 (Div. 2) C. Little Pony and Expected Maximum
- 【一维dp_线性扫描】Word Break 、Best time to Buy and Sell Stocks |||、max subarray、jump game |||
- Codeforces Round #259 (Div. 2) B. Little Pony and Sort by Shif
- 13.8 Minimum Path Sum
- Codeforces Round #259 (Div. 2) A. Little Pony and Crystal Mine
- 【字符串匹配】KMP(implement strStr()), 正则匹配(Wildcard Matching),2-dim 动规(regular expression)
- Codeforces Round #259 (Div. 2) (最差的一次比赛。说多了都是泪)
- [算法浅析] 如何在O(1)的时间里删除单链表的结点
- LeetCode刷题笔录Combination Sum
- 关于spring 2.0自定义xml 标记 (一 主要的相关类)
- LeetCode刷题笔录Partition List
- android database 相关