Skip to content

Latest commit

 

History

History
27 lines (15 loc) · 810 Bytes

File metadata and controls

27 lines (15 loc) · 810 Bytes

跳台阶

知识点:递归和循环

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

解题思路

设共有m种不同跳法

  • 如果n=1,那么m=1
  • 如果n=2,那么m=2

对于n阶台阶:

  • case1:第一次跳了1个台阶,就有f(n-1)种跳法
  • case2:第一次挑个2个台阶,就有f(n-2)种跳法

所以总的n阶台阶的跳法f(n)=case1+case2=f(n-1)+f(n-2)

这是典型的斐波那契数列,需要注意的是尽量不要用递归去求解斐波那契数列,尽量使用循环,如果只需要第n项,不用保存所有n项数据,只需每次保存前2项即可。

代码

这里