题目背景简介
这是博主最近准备秋招时看的剑指offer上的一道题目,题目不是很难,但是我觉得比较有意思,所以发在了博客上面.
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级…..它也可以跳上n级,求该青蛙跳上一个n级台阶总共有多少种方法
如果哪位路过的朋友觉得这道题比较有意思的话可以暂时先不看下面的分析,自己先尝试一下写这道题.
题目分析
在看到这个题目后,首先想到的应该是斐波那契数列的变形,那么思考这个问题应该从斐波那契数列的方向上着手.
当n=1时,f(n)=1,当n>2时,可以从以下角度进行考虑,青蛙最后一次上台阶可能是跳了1-n中任意一个数的台阶.
如果青蛙最后一步是跳了1个台阶的话,那么前面的n-1个台阶的跳法就有f(n-1)
种,如下图:
如果青蛙最后一步跳了2个台阶的话,那么前面的n-2个台阶的跳法就有f(n-2)
种,如下图: