解题思路-LeetCode第64题:最小路径和
给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
说明:每次只能向下或者向右移动一步。

示例 1:
解题思路-LeetCode第64题:最小路径和
输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:7
解释:因为路径 1→3→1→1→1 的总和最小

示例 2:
输入:grid = [[1,2,3],[4,5,6]]
输出:12

提示:
m == grid.length
n == grid[i].length
1 <= m, n <= 200
0 <= grid[i][j] <= 100

解题方法:
1.
只关注右端或者下端哪一个小,并不能决定这条路径,此时选择dp二维数组来保存各点至原点总路径数据。
此时再往后分析时候,就可以比较dp值了(需要用到fmin)来确定最短路径。
dp[i][j] = fmin(dp[i - 1][j], dp[i][j - 1]) + grid[i][j];
2.
注意原点边界特殊性,只能有一条路径,一路向下或者向右,就不能用双重循环了。
dp[i][0] = dp[i - 1][0] + grid[i][0];
dp[0][j] = dp[0][j - 1] + grid[0][j];
最终返回末端数组值

代码如下:
解题思路-LeetCode第64题:最小路径和
提交后,通过。

相关文章:

  • 2021-07-11
  • 2021-06-13
  • 2021-12-28
  • 2021-06-27
  • 2021-10-12
  • 2022-01-10
猜你喜欢
  • 2021-07-31
  • 2021-04-10
  • 2021-07-11
  • 2021-12-14
  • 2022-12-23
  • 2021-05-31
相关资源
相似解决方案