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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param m int整型 
# @param n int整型 
# @return int整型
#
from math import comb
class Solution:
    def uniquePaths(self , m: int, n: int) -> int:
        # write code here 
        return comb(m + n - 2, min(m - 1, n - 1))

进阶代码如上

def uniquePaths(m, n): # 创建一个 m 行 n 列的二维数组 dp,初始值都为 0 dp = [[0] * n for _ in range(m)] # 初始化第一行,到达第一行每个位置的路径只有一种 for j in range(n): dp[0][j] = 1 # 初始化第一列,到达第一列每个位置的路径只有一种 for i in range(m): dp[i][0] = 1 # 填充 dp 数组 for i in range(1, m): for j in range(1, n): dp[i][j] = dp[i - 1][j] + dp[i][j - 1] # 返回右下角位置的路径数量 return dp[m - 1][n - 1] # 测试示例 m = 3 n = 7 print(uniquePaths(m, n))

普通代码如上:

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务