剑指offer 跳台阶

剑指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;
		}
    }
};
弹钢琴的猫 /
Published under (CC) BY-NC-SA in categories 算法  tagged with 剑指offer