不同路径
func uniquePaths(m int, n int) int {
dp := make([][]int , m)
for i := 0; i < m ; i ++ {
dp[i] = make([]int, n)
}
var recur func (x int , y int ) int
recur = func (x int , y int ) int {
// 结束条件
if x == 0 || y == 0 {
return 1
}
// 缓存
if dp[x][y] != 0 {
return dp[x][y]
}
// 递推公式
dp[x][y] = recur(x-1, y) + recur(x, y -1 )
return dp[x][y]
}
dp[m-1][n-1] = recur(m-1, n-1)
return dp[m-1][n-1]
}
Last updated
Was this helpful?