LeetCode62——Unique Paths
《组合数学》一道题。由于有直接的方法,就没怎么思考。
答案是从m+n中选出m或者n个结果的组合数,虽然结果是一样的,这里为了减少迭代次数,取m和n中的较小值进行计算
代码:
class Solution {
public:
int uniquePaths(int m, int n) {
m--;
n--;
int len = m+n;
int i;
int minNum=min(m,n);
long sum1=1;
long sum2=1;
for(i=1;i<=minNum;i++)
{
sum1=sum1*len;
len--;
}
for(i=1;i<=minNum;i++)
{
sum2=sum2*i;
}
return sum1/sum2;
}
};