码,码不停题。
机器人位于一个 m x n 网格的左上角, 在下图中标记为“Start” (开始)。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角,在下图中标记为“Finish”(结束)。
问有多少条不同的路径?
例如,上图是一个3 x 7网格。有多少可能的路径?
注意: m 和 n 的值均不超过 100。
class Solution {
public:
int uniquePaths(int m, int n) {
int ans[m][n];
ans[0][0] = 0;
for(int i = 0;i<m;i++)//只有一行或者一列的时候,只有一种走法
ans[i][0] = 1;
for(int j = 0;j<n;j++)
ans[0][j] = 1;
for(int i = 1;i<m;i++)
for(int j = 1;j<n;j++)
{
//每次只能从上面走下来或者从左边走到右边
ans[i][j] = ans[i-1][j] + ans[i][j-1];
}
return ans[m-1][n-1];
}
};