注意看,这个男人叫小帅,今天他来爬楼梯,已知小帅可以一次性爬1节,2节,3节楼梯,那么他爬一节楼梯只有一种方法,爬两节楼梯有1+1或2两种方法,爬三节楼梯有1+1+1或1+2或2+1或3四种方法,由此我们可以用python来描述小帅爬n节楼梯有多少种方法,自定义函数def climbStairs1(n):

使用递推法求小帅爬n节楼梯有多少种方法,那么爬四节楼梯
-
循环
for i in range(n-3)从第4阶开始计算到第n阶的方法数。每次迭代,都会根据前三个数更新方法数:- 当前阶的方法数
c是前3阶方法数的和,即c = a + b + c。 - 更新
a,b,c以供下一次迭代使用,即a更新为旧的b,b更新为旧的c。
- 当前阶的方法数
-
最终返回的是到达第n阶的方法数
c。 -
测试:print(climbStairs1(15))
-
得到
5768
957

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



