描述
在一个 m x n 的网格里,机器人位于 1 x 1 的位置,它最终要达到 m x n 的位置,每次只能向下或向右移动一格,问一共有多少种不同的走法。
样例
样例1
1 | 输入: 7 3 |
样例2
1 | 输入: 36 7 |
思路
- 动态规划 dp[i][j] = dp[i-1][j] + dp[i][j-1] 注意第一行和第一列都为1
- 直接计算,这是一个排列问题。 一共要向下走 m-1 步,向右走 n-1 步,只是考虑顺序问题,原问题转化为 (m-1)个白球 和 (n-1)个黑球排序,有多少种不同排法。这种方法要考虑溢出的问题。 计算公式为
(m+n-2)! /((m-1)! * (n-1)!)
代码
直接计算
1 | //(m+n-2)! / ((m-1)! * (n-1)!) |
dp
1 | class Solution { |