题目:
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
说明:每次只能向下或者向右移动一步。
示例:
1 | 输入: |
题解
这道题是之前做过的一道。现在当时用了回溯法。但是这里只是求数字总和最小。所以回溯法还是有点浪费这里应该还是能用动态规划的。
看一下他要的是从左上到右下的路径的数字总和最小。也就是针对最后一格而言他只能从他的上面或者左边来。右下角的代价是确定的。只需要求得相对应的最小值就好了。这个应该是一个比较简单的动态规划问题了。
应该用一个dp[m][n]
来保存中间结果。
从左上角出发。
1 | class Solution { |