1.青蛙跳台阶
问题描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
示例:
输入2,返回值2,输入7返回值21
分析:
n=0,跳法N=0
n=1,N=1
n=2,N=2
n=3,N=3
n=4, N=5(1111,121,112,211,22)
通过找规律发现,f(n)=f(n-1)+f(n-2)当n-2>=1即为当n>2时候满足
本题和剑指offer刷题(1)基本一样,可以去参考一下。
2.青蛙跳台阶问题扩展
问题描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。
示例:
输入3,返回4
分析:
n=1,跳法N=1
n=2, N=2
n=3,N=4
n=4,8
n=n, N=2^(n-1)
f(n)=f(n-1)+f(n-2)+……+f(1)
f(n-1)=f(n-2)+……+f(1)
所以:f(n)=2f(n-1) (n>1)
这个通项公式比斐波那契数列更加的简单