题解 | #不同路径的数目(一)#

不同路径的数目(一)

https://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358

class Solution {
public:
    /**
     * 
     * @param m int整型 
     * @param n int整型 
     * @return int整型
     */
    int uniquePaths(int m, int n) {
        if (m < n) {
            swap(m, n);
        }
        long long res = 1;
        for (int i = m; i <= m + n - 2; ++i) {
            res = res * i / (i - m + 1);
        }
        return res;
    }
};

思路:组合数学。

一共需要向下走n - 1次,向右走m - 1次,共m + n - 2次。

即从m + n - 2次步数中选择n - 1次向下走,为C(n - 1) (m + n - 2)。

全部评论

相关推荐

自由水:这HR已经很好了,多的是已读不回和不读了
点赞 评论 收藏
分享
04-25 19:29
已编辑
宁波大学 运营
被普调的六边形战士很高大:你我美牛孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务