Leetcode62 不同路徑

2021-09-25 06:43:27 字數 1298 閱讀 5998

乙個機械人位於乙個 m x n 網格的左上角 (起始點在下圖中標記為「start」 )。

機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角(在下圖中標記為「finish」)。

問總共有多少條不同的路徑?

例如,上圖是乙個7 x 3 的網格。有多少可能的路徑?

說明:m 和 n 的值均不超過 100。

示例 1:

輸入: m = 3, n = 2

輸出: 3

解釋:從左上角開始,總共有 3 條路徑可以到達右下角。

向右 -> 向右 -> 向下

向右 -> 向下 -> 向右

向下 -> 向右 -> 向右

示例 2:

輸入: m = 7, n = 3

輸出: 28

//解法1 遞迴法 (超時)

public

intuniquepaths

(int m,

int n)

return

uniquepaths

(m-1

, n)

+uniquepaths

(m, n-1)

;}//解法2 記憶搜尋法

public

intuniquepaths2

(int m,

int n)

//從第x列, 第y行為起點的路徑數量 (1 <= x <=m, 1 <= y <=n)

private

intuniquepaths2

(int m,

int n,

int x,

int y,

int[

] mem)

else

}return mem[y]

[x];

}//解法3 動態規劃

public

intuniquepaths3

(int m,

int n)

for(

int i =

1; i <= n; i++

)for

(int i = n -

1; i >=

1; i--)}

return mem[1]

[1];

}public

static

void

main

(string[

] args)

Leetcode 62 不同路徑

乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 問總共有多少條不同的路徑?例如,上圖是乙個7 x 3 的網格。有多少可能的路徑?說明 m 和 n 的值均不超過 100。示例 ...

leetcode 62 不同路徑

時間複雜度o n2 def uniquepaths m,n 計算路徑的個數 memo 0 for j in range n for i in range m for i in range m for j in range n if i 0 and j 0 memo i j 1 elif j 0 me...

LeetCode 62 不同路徑

乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 問總共有多少條不同的路徑?例如,上圖是乙個7 x 3 的網格。有多少可能的路徑?說明 m 和 n 的值均不超過 100。示例 ...