LeetCode 题解:63. 不同路径 II,动态规划,JavaScript,详细注释
原题链接:https://leetcode-cn.com/problems/unique-paths-ii/
解题思路:
在网格中的任意一点,都有向右和向下两种走法。同时它也是从上方和左方两个位置走过来的。
那么,任意一点的走法数量,等于从起点走到上方和左方点的数量之和。
第一行和第一列都只有一种走法,就是从起点一直走到底。
我们可以用一个二维数组,画出网格中每个点的走法数量,一直递推到终点,终点存储的就是所有的走法数量。
因此动态规划的状态转移方程为:
dp[i][j]=dp[i-1][j]+dp[i][j-1]
。如果遇到障碍物,则该位置的走法数量为 0。
对于第一行和第一列来说,遇到障碍物之后,从障碍物起,之后的所有位置路径都为 0。
复制代码
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/c786eefe726557e826930a19a】。文章转载请联系作者。
评论