计算组合数
// 组合数问题:C(m+n-2, m-1) class Solution { public int uniquePaths(int m, int n) { long numerator = 1; // 防止分子乘法溢出 int denumerator = m-1; int tx = m-1; int ty = n+m-2; while (tx-- > 0) { numerator *= (ty--); while (denumerator != 0 && numerator % denumerator == 0) { numerator /= denumerator; denumerator--; } } return (int)numerator; } }
作者:Ryanjie
出处:http://www.cnblogs.com/ryanjan/
本文版权归作者和博客园所有,欢迎转载。转载请在留言板处留言给我,且在文章标明原文链接,谢谢!
如果您觉得本篇博文对您有所收获,觉得我还算用心,请点击右下角的 [推荐],谢谢!