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