Unique Paths 题解
题目来源:Unique Paths
> A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below). > How many possible unique paths are there? Above is a 3 x 7 grid. How many possible unique paths are there? Note: m and n will be at most 100.
解题思路:
一共m-1+n-1步,其中任意选择m-1作为竖着走即可。
//C_n ^m
int C(int n, int m)
{
if(m == 0) return 1;
if(n-m < m) return C(n, n-m);
int i = 1;
long long result = 1;
while(i <= m)
{
result *= n-(i-1);
result /= i;
i++;
}
return (int)result;
}
int uniquePaths(int m, int n)
{
return C(m-1 + n-1, m-1);
}
Last updated
Was this helpful?