12 9 每日一題 62 不同路徑

2021-10-11 17:44:39 字數 1184 閱讀 9011

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

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

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

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

示例 1:

輸入: m = 3, n = 2

輸出: 3

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

1. 向右 -> 向右 -> 向下

2. 向右 -> 向下 -> 向右

3. 向下 -> 向右 -> 向右

示例 2:

輸入: m = 7, n = 3

輸出: 28

通過次數174,112| 提交次數275,249**實現

class

solution

:def

uniquepaths

(self, m:

int, n:

int)

->

int:

dp =[[

0]*n for _ in

range

(m)]

for i in

range

(n):

dp[0]

[i]=

1for i in

range

(m):

dp[i][0

]=1for i in

range(1

, m)

:for j in

range(1

, n)

: dp[i]

[j]= dp[i]

[j-1

]+ dp[i-1]

[j]return dp[-1

][-1

]

力扣每日一題 62 不同路徑

這題比較簡單,至少能想到動態規劃和排列組合兩種方法。明顯,到達第 i 行 j 列的點的路勁數為到達第 i 1 行 j 列的路勁數與到達 i 行 j 1 列的路勁數之和。而第一行和第一列的點只有一條路勁,即不停向右或不停向下。由此,可以使用乙個 m n 維的dp陣列進行動態規劃,dp m 1 n 1 ...

letcode每日一題 不同路徑

話不多說,我們上題目 方法一 動態規劃 我們用 f i,j 表示從左上角走到 i,j 的路徑數量,其中 i 和 j 的範圍分別是 0,m 和 0,n 由於我們每一步只能從向下或者向右移動一步,因此要想走到 i,j 如果向下走一步,那麼會從 i 1,j 走過來 如果向右走一步,那麼會從 i,j 1 走...

每日一題 77不同路徑 II

乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?輸入 obstaclegrid 0,0,0 0,1,0 0...