63 不同路徑 II

2021-10-22 21:40:29 字數 616 閱讀 6228

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

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

現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?

網格中的障礙物和空位置分別用 1 和 0 來表示。

示例 1:

輸入:obstaclegrid = [[0,0,0],[0,1,0],[0,0,0]]

輸出:2

解釋:3x3 網格的正中間有乙個障礙物。

從左上角到右下角一共有 2 條不同的路徑:

向右 -> 向右 -> 向下 -> 向下

向下 -> 向下 -> 向右 -> 向右

示例 2:

輸入:obstaclegrid = [[0,1],[0,0]]

輸出:1

class

solution

if(j-

1>=

0&&obstaclegrid[i]

[j]==0)

}}return f[m-1]

;}}

重要思想:滾動陣列演算法

63 不同路徑 II

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

63 不同路徑 II

dfs深度優先 超出時間限制 class solution def uniquepathswithobstacles self,obstaclegrid list list int int if obstaclegrid return 0if obstaclegrid 0 0 1 return 0 ...

63 不同路徑 II

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