Lintcode115 Unique Paths || solution 題解

【題目描述】

Follow up for "Unique Paths":

Now consider if some obstacles are added to the grids. How many unique paths would there be?

An obstacle and empty space is marked as1and0respectively in the grid.

"不同的路徑" 的跟進問題:

現在考慮網格中有障礙物,那樣將會有多少條不同的路徑?

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

【注】:m 和 n 均不超過100

【題目鏈接】

http://www.lintcode.com/en/problem/unique-paths-ii/

【題目解析】

這道題大體想法跟Unique Path是一樣的。只是要單獨考慮下障礙物對整個棋盤的影響。先看看初始條件會不會受到障礙物的影響。

假設整個棋盤只有一行,那麼在第i個位置上設置一個障礙物後,說明位置i到最後一個格子這些路都沒法走了。如果整個棋盤只有一列,那麼第i位置上的障礙物,也會影響從第i位置往後的路。所以說明,在初始條件時,如果一旦遇到障礙物,障礙物後面所有格子的走法都是0。

再看求解過程,當然按照上一題的分析dp[i][j] = dp[i-1][j] + dp[i][j-1] 的遞推式依然成立(機器人只能向下或者向右走嘛)。但是,一旦碰到了障礙物,那麼這時的到這裏的走法應該設爲0,因爲機器人只能向下走或者向右走,所以到這個點就無法通過。

處理完障礙物的特殊問題,依照unique paths改一下代碼就好。

【參考答案】

http://www.jiuzhang.com/solutions/unique-paths-ii/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章