剑指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;
		}
    }
};