问题描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
理清思路
青蛙跳台阶类似斐波那契数列 ,唯一不同的是初始数值不一样:
代码实现
int numWays(int n){
int f[n+1];
int i = 2;
if(n == 0 || n == 1)
{
return 1;
}
f[0] = 1;
f[1] = 1;
for(i; i <= n; i++)
{
f[i] = (f[i-1] + f[i-2])%1000000007;
}
return f[i-1];
}