跳台阶

来源:互联网 发布:如何设置数据库子符集 编辑:程序博客网 时间:2024/05/29 17:29

题目

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

思路

类似于斐波那契序列,能跳上当前台阶的解法等于跳上当前台阶数-1的解法和跳上当前台阶数-2的解法之和(因为它可以从当前台阶数-1的位置跳一格上来或者从当前台阶数-2的位置跳两格上来)。

参考代码

class Solution {public:    int jumpFloor(int number) {        if(number <= 2) return number;        int pre1 = 1, pre2 = 2, now;        for(int i = 3; i <= number; ++i){            now = pre1 + pre2;            pre1 = pre2;            pre2 = now;        }        return now;    }};