62 不同路徑 動態規劃

2021-10-07 04:52:32 字數 839 閱讀 9814

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

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

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

本質上就是乙個 楊輝三角。

這是個楊輝三角形,每個位置的路徑 = 該位置左邊的路徑 + 該位置上邊的路徑

動態規劃

時間 = 空間 = o(m*n)

class solution:

def uniquepaths(self, m: int, n: int) -> int:

dp = [[1]*n] + [[1]+[0] * (n-1) * (m-1)

#print(dp)

for i in range(1, m):

for j in range(1, n):

dp[i][j] = dp[i-1][j] + dp[i][j-1]

return dp[-1][-1]

簡化

class solution:

def uniquepaths(self, m: int, n: int) -> int:

cur = [1] * n

for i in range(1, m):

for j in range(1, n):

cur[j] += cur[j-1]

return cur[-1]

動態規劃 leetcode62 不同路徑 C

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

leetcode 第62題 不同路徑 動態規劃

我小時候還經常想這一類的問題呢,哈哈。題目 乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 問總共有多少條不同的路徑?首先想到的是遞迴,但是用的時間太長了。還是用動態規劃比較...

leetcode 62不同路徑(動態規劃 組合)

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