一个机器人位于一个 m x n网格的左上角 (起始点在下图中标记为 "Start" )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 "Finish" )。 问总共有多少条不同的路径? 示例 1: 复制代码 输入:m = 3, n = 7 输出:28
一个机器人位于一个 m x n网格的左上角 (起始点在下图中标记为 "Start" )。
m x n
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 "Finish" )。
问总共有多少条不同的路径?
示例 1:
输入:m = 3, n = 7 输出:28
dp[i][j]:走到 (i,j) 的路径总数
dp[i][j]
(i,j)
dp[i][j]=dp[i−1][j]+dp[i][j−1]当前路径数 = 上方路径数 + 左方路径数
class Solution: def uniquePaths(self, m: int, n: int) -> int: dp = [[1] * n for _ in range(m)] for i in range(1, m): for j in range(1, n): dp[i][j] = dp[i-1][j] + dp[i][j-1] return dp[m-1][n-1]