繁小华的专栏

假装在编程

跳台阶

题目描述


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


思路:完全的斐波那契数列思想,对于第n个台阶来说,只能从n-1或者n-2的台阶跳上来,所以 F(n) = F(n-1) + F(n-2),斐波拉契数序列,初始条件是  n=1只能一种方法,n=2两种
,递归一下就好了。


C/C++代码:

class Solution {
public:
    int jumpFloor(int number) {
        int *record = new int[number + 1];
        record[1] = 1;
        record[2] = 2;
        for(int i = 3; i <= number; i++)
        {
            record[i] = record[i - 1] + record[i - 2];
        }
        return record[number];
        
    }
};


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunshihua12829/article/details/49892873
文章标签: 斐波那契数列 C++
个人分类: 剑指offer C/C++
上一篇斐波那契数列
下一篇变态跳台阶
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭