跳台阶/70. 爬楼梯
class Solution {
public:
int jumpFloor(int number) {
if(number==0) return 0;
if(number==1) return 1;
if(number==2) return 2;
int f1=1;
int f2=2;
int fn=f1+f2;
for(int i=4;i<=number;i++)
{
f1=f2;
f2=fn;
fn=f1+f2;
}
return fn;
}
};
变态跳台阶
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
数学归纳法求得:
class Solution {
public:
int jumpFloorII(int number) {
return pow(2,number-1);
}
};