剑指offer 跳台阶
- 题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
- 题目解析
经过分析之后发现,其实这道题目就是斐波那契数列。从第3个台阶开始,跳法就等于之前两个台阶的跳法之和。
class Solution {
public:
int jumpFloor(int number) {
if (number == 1)
return 1;
else if (number == 2)
return 2;
else{
int ret = 3;
int prior1 = 1;
int prior2 = 2;
for (int i = 3; i <= number; ++i){
ret = prior1 + prior2;
prior1 = prior2;
prior2 = ret;
}
return ret;
}
}
};