leetcode 所有路径
组合数的应用,m=3,n=7时,正好向下走两步,向右走一步, 即在(m+n-2)里取(m-1)或者取(n-1),两者结果一样
代码如下:
typedef long long LL;
class Solution {
public:
int uniquePaths(int m, int n) {
int k = m+n-2;
return C(k,min(n-1,m-1));
}
LL C(int n, int k)
{
LL res = 1;
for (int i = n, j = 1; j <= k; i--, j++)
{
res = res * i / j ;
}
return res;
}
};