原题
https://leetcode.cn/problems/climbing-stairs/description/
思路
动态规划 + 字典
复杂度
时间:O(n)
空间:O(n)
Python代码
class Solution:
def climbStairs(self, n: int) -> int:
d = {1: 1, 2: 2}
if n <= 2:
return d[n]
for i in range(3, n+1):
d[i] = d[i-1] + d[i-2]
return d[n]
Go代码
func climbStairs(n int) int {
d := map[int]int{1: 1, 2: 2}
if n <= 2 {
return d[n]
}
for i := 3; i <= n; i++ {
d[i] = d[i-1] + d[i-2]
}
return d[n]
}

被折叠的 条评论
为什么被折叠?



