70. 爬楼梯
| 题目链接 | 70. 爬楼梯 |
|---|---|
| 思路 | 动态规划 |
| 题解链接 | 教你一步步思考动态规划:从记忆化搜索到递推(Python/Java/C++/Go/JS/Rust) |
| 关键点 | 1. \(dp(i) = dp(i-1) + dp(i-2)\) 2. \(dp(1) = 1\) |
| 时间复杂度 | \(O(n)\) |
| 空间复杂度 | \(O(n)\) |
代码实现:
class Solution:
def climbStairs(self, n: int) -> int:
@cache
def dfs(i):
if i <= 1:
return 1
return dfs(i-1) + dfs(i-2)
return dfs(n)

浙公网安备 33010602011771号