题目:跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
思路
跟斐波拉一样f(n) = f(n-1)+f(n-2); 不同的是 f(1)=1,f(2)=2;
class Solution {
public:
int jumpFloor(int number) {
if(number==0) return 0;
if(number<0) return -1;
int a=0,b=1;
for(int i=0;i<=number;i++){
b = a+b;
a = b-a;
}
return a;
}
};