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;
}
};
本文介绍了解决LeetCode 62题“Unique Paths”的方法。通过组合数学原理,利用迭代公式计算从起点到终点的不同路径数量。采用优化算法减少计算量。
3159

被折叠的 条评论
为什么被折叠?



