Leetcode64 Minimum Path Sum
来源:互联网 发布:免费网络在线代理 编辑:程序博客网 时间:2024/05/16 19:49
Minimum Path Sum
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.
Solution1
public class Solution { public int minPathSum(int[][] grid) { int m = grid.length; if(m==0) return 0; int n = grid[0].length; if(n==0) return 0; int[][] dp = new int[m][n]; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ if(i==0&&j==0) dp[i][j] = grid[i][j]; else dp[i][j] = Math.min(i>0?dp[i-1][j]:Integer.MAX_VALUE, j>0?dp[i][j-1]:Integer.MAX_VALUE) + grid[i][j]; } } return dp[m-1][n-1]; }}
Solution2
- 滚动数组
public class Solution { public int minPathSum(int[][] grid) { int m = grid.length; if(m==0) return 0; int n = grid[0].length; if(n==0) return 0; int[] dp = new int[n]; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ if(i==0&&j==0) dp[j] = grid[i][j]; else dp[j] = Math.min(i>0?dp[j]:Integer.MAX_VALUE, j>0?dp[j-1]:Integer.MAX_VALUE) + grid[i][j]; } } return dp[n-1]; }}
Solution3
- 假如说可以允许改变原始数组的话,则可以直接利用原始的输入数组作为动态规划的中间状态存储用的数组。
public class Solution { public int minPathSum(int[][] grid) { int m = grid.length; if(m==0) return 0; int n = grid[0].length; if(n==0) return 0; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ if(i==0&&j==0) continue; else grid[i][j] = Math.min(i>0?grid[i-1][j]:Integer.MAX_VALUE, j>0?grid[i][j-1]:Integer.MAX_VALUE) + grid[i][j]; } } return grid[m-1][n-1]; }}
0 0
- LeetCode64:Minimum Path Sum
- Leetcode64 Minimum Path Sum
- [leetcode64]Minimum Path Sum
- LeetCode64. Minimum Path Sum
- Leetcode64 minimum path sum
- leetcode64. Minimum Path Sum
- leetcode64. Minimum Path Sum
- Leetcode64. Minimum Path Sum
- LeetCode64 Minimum Path Sum
- LeetCode64. Minimum Path Sum题解
- LeetCode64——Minimum Path Sum
- leetcode64-Minimum Path Sum(最小路径和)
- 【LeetCode64 Minimum Path Sum】动态规划计算路径
- LeetCode: Minimum Path Sum
- LeetCode Minimum Path Sum
- LeetCode : Minimum Path Sum
- [Leetcode] Minimum Path Sum
- Minimum Path Sum
- 查找一个在另一个字符串出现在另一个字符串的第一个位置
- 【bzoj1087】[SCOI2005]互不侵犯King
- 黑马程序员 oc随记 foundation框架 nsstring.NSmutable.nsarray与nsdictionay
- opencv获取图像的像素值
- Mac下添加java环境变量
- Leetcode64 Minimum Path Sum
- 天津河西区小妹信息天津河西区上门服务
- 宁河美女找丝足服务
- 上海黄浦美女找丝足服务
- 上海徐汇美女找丝足服务
- 上海长宁美女找丝足服务
- 上海普陀美女找丝足服务
- 黑马程序员——类与对象2
- 上海闸北美女找丝足服务