一、青蛙跳台问题
1、一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1
解题思路:
最后一步跳上台阶有两种方法,从n-1上跳一阶台阶,或者从n-2阶跳两节台阶,因此f(n)=f(n-1)+f(n-2),由此递推。
法一:迭代
public static int numWays(int n) {
int a=1,b=1;
for (int i=0;i<n;i++){
int sum =(a+b)%1000000007;
a=b;
b=sum;
}
return a;
}
法二:递归