
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情
引子
楼梯有 N阶,上楼可以一步上一阶,也可以一步上二阶。
编一个程序,计算共有多少种不同的走法。
例:
- 0层:1种
- 1层:1种
- 2层:2种
- 3层:3种
- 4层:5种
- ...
洛谷题链(原题需要压位高精、矩阵快速幂,本文只讨论该问题的常规解法及优化思路)
解题思路
走楼梯,要么一次走一阶,要么一次走两阶,那我每次的走法就等于=上一阶的方案数+上上阶的方案种数,这就推出了方程:
f[i]=f[i-1]+f[i-2]
同时考虑边界:0阶或者1阶的答案都是1种。
<