该问题均由斐波那契数列引出。
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
class Solution {
public:
int jumpFloor(int number) {
int n = number;
if(n==0)
return 0;
if(n==1)
return 1;
if(n == 2)
return 2;
return jumpFloor(n-1)+jumpFloor(n-2);
}
};
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
class Solution {
public:
int jumpFloorII(int number) {
if(number==0)
return 0;
int total = 1;
for(int i = 1;i<number;i++)
total = total*2;
return total;
}
};