乙個機械人位於乙個 m x n 網格的左上角 (起始點在下圖中標記為 「start」 )。機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角(在下圖中標記為 「finish」 )。問總共有多少條不同的路徑?
示例 1:
輸入:m = 3, n = 7
輸出:28
示例 2:
輸入:m = 3, n = 2
輸出:3
解釋:從左上角開始,總共有 3 條路徑可以到達右下角。
1. 向右 -> 向右 -> 向下
2. 向右 -> 向下 -> 向右
3. 向下 -> 向右 -> 向右
示例 3:
輸入:m = 7, n = 3
輸出:28
示例 4:
輸入:m = 3, n = 3
輸出:6
提示:
動態規劃
首先找到轉移方程,對於上邊界和左邊界,都只有一種
其餘的座標點的路徑數量滿足轉移方程dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
可以參考:動態規劃
class
solution
}return dp[m -1]
[n -1];}}
不同路徑(LeetCode)
乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 問總共有多少條不同的路徑?例如,上圖是乙個7 x 3 的網格。有多少可能的路徑?說明 m 和 n 的值均不超過 100。示例 ...
不同路徑(leetcode)
題目 物體怎樣從左上角移動到右下角,其中1表示有障礙,不能行走。思路 知道整個方框的行和列。對第一行和第一列進行填充1,當碰到1 障礙 填充0。本題可以被視為乙個動態規劃的問題,從上到下,從左到右,其中到達乙個終點的路徑總是左邊路徑 上面路徑。即 d p i j dp i 1 j dp i j 1 ...
leetcode不同路徑
1.深度優先搜尋 從finish點開始,往回走,每次是往上走,往右走,當回到0,0點時,路徑數量加1 如下 class solution void dfs int m,int n,int r,int c 但是這種方法可能會超時 2.利用數學公式 地圖矩陣為m行,n列,從左上角到右下角一共需要走m n...