LeetCode刷题-63. 不同路径 II
题目链接:63. 不同路径 II
¶题解:
和上一道题相比多了一些障碍物设置,基本类似!
¶题目简述:
仍然是n * m
的方格从左上到右下的路径数,路径中可能有障碍物!
¶题解:
动态规划:
状态表示:f[i][j]
表示从起点到当前位置的路径数!
状态计算:由于到当前位置只有两条路径,即上和左,所以状态转移方程为,f[i][j] = f[i - 1][j] + f[i][j - 1]
初始状态由path[0][0]
决定,若起点有障碍物,则f[0][0]
为0,且最终方案数为0
若终点path[n - 1][m - 1]
有障碍物,则最终方案数为0
以上两种情况需要特判!
最终结果:f[n - 1][m - 1]
与上一道题不同之处: 当前位置有了障碍物则到达当前位置的方案数为f[i][j] = 0
时间复杂度:$O(n \times m)$
¶AC代码:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小牛博客!
评论