![Le](https://i-blog.csdnimg.cn/blog_migrate/1a0a82a262ec5b58a567320e473c8b12.png)
心路历程:
这道题是之前学院的一道复试题,大家都没怎么刷过算法题,只记得当年凭借几次试错自己把这道题做出来了,当时也不知道动态规划之类的。
正常来讲,这种找不到循环结构的题一般都是递归解决。
注意的点:
1、注意返回值种加号的含义
解法:动态规划
class Solution:
def climbStairs(self, n: int) -> int:
@cache
def dfs(i):
if i <= 2:
return i
return dfs(i-1) + dfs(i-2)
return dfs(n)