力扣 動態規劃 不同路徑

2021-09-12 07:44:57 字數 1403 閱讀 9265

描述

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

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

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

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

說明:m 和 n 的值均不超過 100。

示例 1:

輸入: m = 3, n = 2

輸出: 3

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

向右 -> 向右 -> 向下

向右 -> 向下 -> 向右

向下 -> 向右 -> 向右

示例2:

輸入: 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個方格向下。...