码迷,mamicode.com
首页 > 其他好文 > 详细

【剑指Offer】跳台阶

时间:2015-09-16 06:25:49      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:牛客网   剑指offer   跳台阶   斐波那契数列   

题目描述

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

解题思路

递归,由上一步到这一步青蛙跳了一级或跳了两级,当前台阶数为n,那跳n级台阶的方法数就是问跳n-1和跳n-2级楼梯方法数相加。由此可看出,这是一个斐波那契数列
结束条件就是当n=1时,只有一种方法(跳一级);n=0时,0种方法;当n=2时,有两种方法(一次跳一级,跳两次;一次直接跳两级)

代码实现

class Solution {
public:
    int jumpFloor(int number) {
        if (number == 0){
            return 0;
        }
        if (number == 1){
            return 1;
        }
        if (number == 2){
            return 2;
        }
        return jumpFloor(number - 1) + jumpFloor(number - 2);
    }
};

版权声明:本文为博主原创文章,未经博主允许不得转载。

【剑指Offer】跳台阶

标签:牛客网   剑指offer   跳台阶   斐波那契数列   

原文地址:http://blog.csdn.net/zgljl2012/article/details/48480957

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!