青蛙跳台阶,一起跳一下?

655 阅读2分钟
1:题目

一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。




2:解题思路

一看到这种问题,可能一下子没有什么思路,不知道从哪里着手分析,那我们就从最简单的情况开始分析。


假如 n = 1,一共有一级台阶,显然就只有一种跳法。


假如 n = 2,一共有两级台阶,那么可以每次跳一级跳两次,或者也可以一次跳两级,也就是说一共有两种跳法(1+1)。



假设n=3,当第一次跳一级时,还剩两级台阶,利用两次台阶的跳法,此时有两种跳法;当第一次跳二级时,还剩一级台阶,利用一级台阶的跳法,此时只有一种跳法。所以共有三种跳法(2+1)。


假设n=4,当第一次跳一级时,还剩三级台阶,此时利用三级台阶的跳法,此时有三种跳法;当第一次跳二级时,此时还剩二级台阶,利用二级台阶的跳法,此时有两种跳法。所以共有五种跳法(3+2)。


由此可以看出,n 越大跳法就越多,我们可以发现一个规律,就是把 n 拆分成各个比他小的数来分析,有点像分而治之的思想,即把大问题划分为若干个小问题来处理,最后再把小问题汇总去解决大问题。


通过上面的分析,

先假设 f(n) 为 n 级台阶的总跳法数,那么第一次如果选择跳一级的话,剩下的 n-1 级台阶的跳法数就为 f(n-1)。如果第一次跳两级的话,剩下的 n-2 级台阶的跳法就是 f(n-2),现在青蛙一次只能跳一级或两级,我们可以退出问题的公式:




3



以上的方法会存在重复计算的问题,我们可以保存每次计算的结果,下次直接引用来解决这个问题。也可以使用for循环:



如果你觉得这篇文章有用,记得分享给其他的小伙伴,大家一起进步哦~~~



扫一扫 关注我的公众号

如果你想要跟大家分享你的文章,欢迎留言投稿~

如果你喜欢,请留下你的赞哦。

如果有疑问,记得留言哦。