Description
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
Solution:
和斐波那契数列的做法一样,Recursion关系F(n) = F(n-1) + F(n-2). 因为跳n级台阶,可以由n-1级跳一级上来,也可以由n-2级跳两级上来。最后DP一下即可。
int jumpFloor(int number) {
int a = 1, b = 2;
while(--number > 0){
b = a + b;
a = b - a;
}
return a;
}