打卡 演算法 共有多少條不同路徑

2021-10-09 02:55:01 字數 1058 閱讀 9927

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

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

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

這個題目,明顯就是動態規劃。初始化第一行和第一列的路徑和為1。其他位置的路徑總數 = 從上面位置移動到當前位置 + 左邊位置移動到當前位置

class

solution

:def

uniquepaths

(self, m:

int, n:

int)

->

int:

# 初始化dp

dp =[[

0]*(m+1)

for i in

range

(n+1)]

# 初始化第一行

for index in

range

(m):

dp[0]

[index]=1

# 初始化第一列

for index in

range

(n):

dp[index][0

]=1# 執行動態規劃

for x in

range(1

,n):

for y in

range(1

,m):

dp[x]

[y]= dp[x-1]

[y]+ dp[x]

[y-1

]# 返回目標值

return dp[n-1]

[m-1

]if __name__ ==

'__main__'

: res = solution(

).uniquepaths(1,

1)print

(res)

LeetCode打卡22 62 不同路徑

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

演算法 不同路徑問題

2 不同路徑 ii 62.不同路徑 本問題是動態規劃的乙個比較經典的題目,和跳台階問題本質上是一樣的,只是跳的位置不一樣而已。乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish ...

演算法(16) 不同路徑

僅記錄學習筆記,如有錯誤歡迎指正。乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 問總共有多少條不同的路徑?思路 採用動態規劃。動態規劃要求利用到上一次的結果,是一種特殊的迭...