leet62. 不同路徑
阿新 • • 發佈:2018-11-10
題目:
機器人位於一個 m x n 網格的左上角, 在下圖中標記為“Start” (開始)。
機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角,在下圖中標記為“Finish”(結束)。
問有多少條不同的路徑?
例如,上圖是一個3 x 7網格。有多少可能的路徑?
注意: m 和 n 的值均不超過 100。
分析:
- 動態規劃問題
- 對於任意點在右邊界和下邊界的點移動到目標位置,均有1條路徑
- 對於非2中的情況f(x,y) = f(x+1,y) + f(x,y+1)
程式碼:
class Solution(object): def uniquePaths(self, m, n): """ :type m: int :type n: int :rtype: int """ def move(x,y,m = m,n = n): if x == m - 1 or y == n - 1: return 1 else: return move(x + 1,y) + move(x,y + 1) return move(0,0,m,n)
思考:
- 輸入23,12時計算超時