LeetCode 62.不同路径 的 JavaScript 数学组合 解法😃😃😃

leetcode-cn.com

总共要走的步数是 m + n - 2 步 (m-1 步向右 和 n - 1 步向下)
每一步可以选择向下↓或向→, 选择了 m-1 向右,剩下的 n - 1都是向下的。
也就是说在 m + n - 2 步中,选出 m - 1 步,作为向右,先选和后选不影响结果

换种表达,一个袋子里装了编号为 1 到 m+n-2 的小球,从中挑选出 m-1个小球, 这就是一个组合的问题^_^

Cm+n-2 m-1



代码:


var uniquePaths = function(m, n) {
const all = m + n - 2; // 3
const picked = m - 1; // 2
let res = 1;
for (let i = 0; i < picked; i++) {
res = (all - i) * res;
}
for (let i = 1; i <= picked; i++) {
res = res / i;
}
return res;
};
```


讲不清楚的,可以直接评论哈,会一一回复~
展开
NeoYu于2021-04-13 14:40发布的图片
NeoYu于2021-04-13 14:40发布的图片
3