不同路徑||乙個機械人位於乙個 m x n 網格的左上角 (起始點在下圖中標記為「start」 )。
機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角(在下圖中標記為「finish」)。
現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?
網格中的障礙物和空位置分別用 1 和 0 來表示。說明:m 和 n 的值均不超過 100。
輸入:[
[0,0,0],
[0,1,0],
[0,0,0]
]輸出: 2
解釋:3x3 網格的正中間有乙個障礙物。
從左上角到右下角一共有 2 條不同的路徑:
1. 向右 -> 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右 -> 向右
思路: 動態規劃dp[i][j] = obstaclegrid[i][j] == 1 ? 0 : (dp[i-1][j] + dp[i][j-1])
1class
solution63
7int rowcount =obstaclegrid.length;
8int colcount = obstaclegrid[0].length;910
int dp = new
int[rowcount][colcount];
1112
for (int i = 0; i < colcount; i++)
16 dp[0][i] = 1;17}
18for (int i = 0; i < rowcount; i++)
22 dp[i][0] = 1;23}
24for (int i = 1; i < rowcount; i++) 28}
29return dp[rowcount - 1][colcount - 1];30}
31 }
LeetCode 第63題 不同路徑2
乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?網格中的障礙物和空位置分別用 1 和 0 來表示。說明 m...
LeetCode63題 不同路徑2
思路 這道題與leetcode62題幾乎完全相同,只是在62題的基礎上增加了 障礙 限制。因為只能向右和向下移動,那麼容易想到,如果某一處 i,j 有障礙,那麼它右側的 i,j 1 位置只能經過 i 1,j 1 到達。因此 i,j 1 的值用 i 1,j 1 代替即可。如果乙個位置 i,j 的上邊和...
LeetCode63 不同路徑
乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?網格中的障礙物和空位置分別用 1 和 0 來表示。說明 m...