爬楼梯问题理解

假设楼梯有n阶,每次可以爬12个台阶,求到达楼顶的方法总数?

假设f(n)为n阶楼梯的爬楼方法总数,则有:

f[i] = f[i - 1] + f[i - 2]

很多题解都是假设爬到最后还剩1或2个台阶,然后将这两种情况累加起来,得到的结果就是最后的方法总数,我感觉这比较难以理解,总认为前面爬楼方法会有重复的部分。

之后我想到如果换一种思路来理解或许思路就比较清晰了,比如我们第一步可以爬1或2个台阶,这是两种完全不同的情况,接下来要爬到楼顶的方法总数则分别为f(i-1)和f(i-2),我们把它们相加,这样一想的确是爬楼的方法总数。

posted @ 2022-07-23 16:39  香菇0_0  阅读(60)  评论(0)    收藏  举报