這是 62. Unique Paths 的變化題
在一個只能向下向右走且有障礙物的網格中
我們要計算出所有可能路徑的數量
先不考慮空間複雜度,使用最直覺的 m * n 二維陣列去存 dp 的狀態
我們定義 dp[i][j] 為到達 obstacleGrid[i][j] 的所有可能路徑的數量
第一行和第一列的 dp 可以僅靠 obstacleGrid 算出
接下來的行列最佳解必須由 dp 的狀態逐一推論
可以觀察出以下規律:
時間複雜度為 O( m * n )
空間複雜度為 O( m * n )
和同事讀書會的時候
想到了用記憶體 1 * n 的解法
只需要注意計算 dp 的順序和計算最左邊的 dp 時要防呆即可。
Leetcode
JavaScript