LeetCode 第63題 不同路徑

2022-09-02 11:54:06 字數 1094 閱讀 9921

不同路徑||

乙個機械人位於乙個 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])

1

class

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...