ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DeepSeek LeetCode 62. 不同路径 Python3实现

DeepSeek    LeetCode 62. 不同路径 Python3实现 LeetCode 62. 不同路径的 Python3 实现如下包含动态规划和组合数学两种解法。解法一动态规划经典用 dp[i][j] 表示到达位置 (i, j) 的路径数。由于只能向右或向下所以 dp[i][j] dp[i-1][j] dp[i][j-1]。第一行和第一列只有一种走法初始化为 1。可优化为一维数组。classSolution:defuniquePaths(self,m:int,n:int)-int:# dp[j] 表示当前行第 j 列的路径数dp[1]*n# 第一行全是 1foriinrange(1,m):forjinrange(1,n):dp[j]dp[j-1]returndp[-1]· 时间复杂度O(m × n)· 空间复杂度O(n)解法二组合数学最优机器人总共需要走 m n - 2 步其中向下 m - 1 步向右 n - 1 步。因此路径总数就是从 m n - 2 步中选择 m - 1 步向下或 n - 1 步向右的组合数C(m n - 2, m - 1)importmathclassSolution:defuniquePaths(self,m:int,n:int)-int:# 计算组合数 C(mn-2, m-1)returnmath.comb(mn-2,m-1)· 时间复杂度O(min(m, n))math.comb 内部高效实现· 空间复杂度O(1)选择 DP 解法易于理解组合数学解法效率更高。实际面试中可根据需要展示。
返回列表