描述
乙個機械人位於乙個 m x n 網格的左上角 (起始點在下圖中標記為「start」 )。
機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角(在下圖中標記為「finish」)。
問總共有多少條不同的路徑?
例如,上圖是乙個7 x 3 的網格。有多少可能的路徑?
說明:m 和 n 的值均不超過 100。
示例 1:
輸入: m = 3, n = 2示例2:輸出: 3
解釋:從左上角開始,總共有 3 條路徑可以到達右下角。
向右 -> 向右 -> 向下
向右 -> 向下 -> 向右
向下 -> 向右 -> 向右
輸入: m = 7, n = 3哇這道題簡直經典到爆了輸出: 28
直接貼**
python code
class
solution
:'''
n:行m:列
'''defuniquepaths
(self, m:
int, n:
int)
->
int:
dp =[[
0for i in
range
(m +1)
]for i in
range
(n +1)
]# 初始化dp陣列 注意第0行和第0列初始化為0 保證下標不越界
for i in
range(1
, n +1)
:for j in
range(1
, m +1)
:if i == j ==1:
dp[1]
[1]=
1else
: dp[i]
[j]= dp[i -1]
[j]+ dp[i]
[j -1]
return dp[n]
[m]
特別說明
這裡我想特別說明一下,就是python的語法是非常靈活的,python支援「連續邏輯比較操作」,也就是
if i == j == k: pass
這樣的語句是合法的,我看貌似有些人不怎麼會活用不同語言的不同於法啊。。。
c++ code
class solution
};
動態規劃 不同路徑
乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 問總共有多少條不同的路徑?外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img yrgqqaoc 1607527...
力扣 動態規劃
設爬x層的梯子的方法有f x 種,那麼f x f x 1 f x 2 爬1層梯子的方式有一種 爬2層梯子的方式有兩種 爬3層梯子的方式有三種 爬4層梯子的方式有五種 classsolution int rev newint n 1 rev 0 0 rev 1 1 rev 2 2 for inti 3...
力扣日記 062 不同路徑 動態規劃
乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 問總共有多少條不同的路徑?易知start finish需要m n 2個小方格,一定會有n 1個小方格是向右,m 1個方格向下。...