# 乙個機械人位於乙個 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 問總共有多少條不同的路徑?思路 採用動態規劃。動態規劃要求利用到上一次的結果,是一種特殊的迭...