这题主要在于分析题目,怎么应用动态规划,应该存储哪些东西
可以从4阶的楼梯看出,当前的可能性种数与3阶的可能性和2阶的可能性有关
4阶楼梯的可能性种数由两部分组成:
①3阶楼梯的可能性种数(由3阶楼梯走一步)
②2阶楼梯的可能性种数(由2阶楼梯走两步)
其他的阶楼梯也是类似
class Solution:
tmp = {1: 1,2 :2,3:3}
def climbStairs(self, n):
if n in self.tmp:
return self.tmp[n]
result=self.climbStairs(n-1)+self.climbStairs(n-2)
self.tmp[n]=result
return result