LeetCode62 不同路徑
阿新 • • 發佈:2021-05-23
LeetCode62 不同路徑
一個機器人位於一個m x n
網格的左上角 (起始點在下圖中標記為 “Start” )。
機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記為 “Finish” )。
問總共有多少條不同的路徑?
//利用mem陣列記錄從start點到達各方格的路徑數量 //遞迴查詢下、右兩個方向的路徑 func findPath(m int, n int, mem [][]int) int { //任一方向到達終點 if m == 1 || n == 1 { return 1 } if mem[m][n] > 0 { return mem[m][n] } mem[m][n] = findPath(m-1,n,mem) + findPath(m,n-1,mem) return mem[m][n] } func uniquePaths(m int, n int) int { //GO構建二維陣列 var mem = make([][]int, m+1) for i:=0; i<m+1; i++ { mem[i] = make([]int, n+1) } return findPath(m, n, mem) }