leetcode62 不同路徑

2021-10-07 14:10:16 字數 1335 閱讀 2325

題目:

乙個機械人位於乙個 m x n 網格的左上角 (起始點在下圖中標記為「start」 )。

機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角(在下圖中標記為「finish」)。

問總共有多少條不同的路徑?

例如,上圖是乙個7 x 3 的網格。有多少可能的路徑?

示例 1:

輸入: m = 3, n = 2

輸出: 3

解釋:從左上角開始,總共有 3 條路徑可以到達右下角。

向右 -> 向右 -> 向下

向右 -> 向下 -> 向右

向下 -> 向右 -> 向右

示例 2:

輸入: m = 7, n = 3

輸出: 28

思路:動態規劃。dp[i][j]表示到達ij有多少路徑。由於每一步只能向下或者向右,因此很容易寫出更新公式:

dp[i][j] = dp[i-1][j] + dp[i][j-1]

**:

class

solution

:def

uniquepaths

(self, m:

int, n:

int)

->

int:

dp =[[

0]* n for i in

range(0

, m)

] dp[0]

[0]=

1for i in

range

(m):

dp[i][0

]=1for i in

range

(n):

dp[0]

[i]=

1for 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

]

Leetcode 62 不同路徑

乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 問總共有多少條不同的路徑?例如,上圖是乙個7 x 3 的網格。有多少可能的路徑?說明 m 和 n 的值均不超過 100。示例 ...

leetcode 62 不同路徑

時間複雜度o n2 def uniquepaths m,n 計算路徑的個數 memo 0 for j in range n for i in range m for i in range m for j in range n if i 0 and j 0 memo i j 1 elif j 0 me...

LeetCode 62 不同路徑

乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 問總共有多少條不同的路徑?例如,上圖是乙個7 x 3 的網格。有多少可能的路徑?說明 m 和 n 的值均不超過 100。示例 ...