题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
class Solution {
public:
int jumpFloorII(int number) {
int temp=1;
if(number==0) return number;
for(int i =1;i<number;i++){
temp*=2;
}
return temp;
}
};
解析:设第n级的跳法为f(n),
f(n)=f(n-1)+f(n-2)+......f(1)
f(n-1)=f(n-2)+f(n-3)+...f(1)
故:
f(n)=2f(n-1)