题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
分析:
总结规律:
f(1)=1;
f(2)=2;
f(3)=4;
f(4)=8;
…
f(n)=2*f(n-1)
代码:
class Solution {
public:
int jumpFloorII(int number) {
int f = 1,fn = 1;
for(int i=2;i<=number;i++){
fn=2*f;
f=fn;
}
return fn;
}
};