牛客网题目:minimum-path-sum 利用动态规划的思想
2020-04-26 22:19
197 查看
题目描述如下:
动态规划的解法:
1.状态的定义
2.状态转换方程
3.初始值
4.返回值
就本题而言:
grid[][]为原数组
```
1.状态的定义 F[i][j]表示从F[0][0]到该位置所经历的最小路径和
2.状态转换方程 F[i][j]=min(F[i][j-1],F[i-1][j])+grid[i][j]
3.初始值 F[0][0]=grid[0][0]
4.返回值 F[m-1][n-1]
链接:https://www.nowcoder.com/questionTerminal/23462ed010024fcabb7dbd3df57c715e?toCommentId=6010099
来源:牛客网
public class Solution{ //先对最左一列和最上一行特殊处理,因为这样的一列和一行中每个元素的来路只有一条,它是固定的。 //然后剩下的内层的矩形框中,每个元素的来路可能来自于左面元素,也有可能来自于上面元素。再加上 //当前元素值就是走到该位置经历的路径最小和 public int minPathSum(int[][] grid) { int m=grid.length; int n=grid[0].length; if(m==0||n==0){ return 0; } int[][] minimumPathSum=new int[m] ; minimumPathSum[0][0]=grid[0][0]; for (int i=1;i<m;i++){ minimumPathSum[i][0]=grid[i][0]+minimumPathSum[i-1][0]; }//lie for (int j=1;j<n;j++){ minimumPathSum[0][j]=grid[0][j]+minimumPathSum[0][j-1]; } for (int i=1;i<m;i++){ for (int j=1;j<n;j++){ minimumPathSum[i][j]=Math.min(minimumPathSum[i][j-1],minimumPathSum[i-1][j])+grid[i][j]; } } return minimumPathSum[m-1][n-1]; } }
相关文章推荐
- 动态规划之 minimum path sum
- LeetCode931. Minimum Falling Path Sum最小下降路径和(动态规划,深度优先搜索)
- 动态规划小结 - 二维动态规划 - 时间复杂度 O(n*n)的棋盘型,题 [LeetCode] Minimum Path Sum,Unique Paths II,Edit Distance
- Leetcode之动态规划(DP)专题-931. 下降路径最小和(Minimum Falling Path Sum)
- [LeetCode] Unique Paths && Unique Paths II && Minimum Path Sum (动态规划之 Matrix DP )
- LeetCode之“动态规划”:Minimum Path Sum && Unique Paths && Unique Paths II
- [LeetCode] Unique Paths && Unique Paths II && Minimum Path Sum (动态规划之 Matrix DP )
- 动态规划----Minimum Path Sum
- LeeoCode 64 Minimum Path Sum(带记忆化搜索的动态规划)
- 64. Minimum Path Sum 类别:动态规划 难度:medium
- 【python】【leetcode】【算法题目64—Minimum Path Sum】
- 【leetcode】第64题 Minimum Path Sum 题目+解析+JAVA代码
- 利用分治和动态规划的思想求解矩阵链乘问题
- LA 3720 highway(利用动态规划思想,将复杂度急降,9ms)
- 10.3.1 (python) 动态规划数组类LeetCode题目 —— Minimum Path Sum & Triangle & Maximum Product Subarray
- 动态规划入门(二)DP 基本思想 具体实现 经典题目 POJ1088 POJ1163 POJ1050
- LeetCode || Minimum Path Sum 动态规划思想
- LeetCode Online Judge 题目C# 练习 - Minimum Path Sum
- 动态规划入门(四)DP 基本思想 具体实现 经典题目 POJ1160 POJ1037
- *LeetCode-Minimum Path Sum