題目:
乙個機械人位於乙個 m x n 網格的左上角 (起始點在下圖中標記為「start」 )。
機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角(在下圖中標記為「finish」)。
現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?
網格中的障礙物和空位置分別用 1 和 0 來表示。
輸入:obstaclegrid = [[0,0,0],[0,1,0],[0,0,0]]
輸出:2
解釋:3x3 網格的正中間有乙個障礙物。
從左上角到右下角一共有 2 條不同的路徑:
向右 -> 向右 -> 向下 -> 向下
向下 -> 向下 -> 向右 -> 向右
解題思路:和不同路徑相似,只是多了障礙物,只需要在初始化和迴圈中加判斷選項即可
class
solution
for(
int i =
1; i < n; i++
)/**
狀態方程:dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
**/for(
int i =
1; i < m; i++)}
return dp[m -1]
[n -1];}}
不同路徑 II
乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?網格中的障礙物和空位置分別用 1 和 0 來表示。示例 1...
62 不同路徑63 不同路徑 II
62.不同路徑 動態規劃清晰步驟 1.定義dp陣列 2.初始化 3.迴圈填充 4.返回結果 class solution 4.返回結果 return dp m 1 n 1 動態規劃寫法2 內部解決初始化問題 class solution2 else if i 0 j 0 else if i 0 j ...
LeetCode 不同路徑II
乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?網格中的障礙物和空位置分別用1和0來表示。說明 m 和 n...