• 跳台阶


    /*
    一只青蛙一次可以跳上1级台阶,也可以跳上2级。
    求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
    */

    首先我们考虑最简单的情况。

    如果只有1级台阶,那么显然只一种跳法。

    如果有2级台阶,那就有两种跳法:一种是分两次跳,每次跳1级;另一种是一次跳2级。

    f(n)=f(n-1)+f(n-2)

    也就是斐波那契数列

    #include <iostream>
    using namespace std;
    /*
    一只青蛙一次可以跳上1级台阶,也可以跳上2级。
    求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
    */
    // 实际上看着规律就是斐波那契数列
    // 1,2,3,5,8
    class Solution {
    public:
        int jumpFloor(int number) {
           if (number <= 0)
                return 0;
           else if(number <= 3)
            return number;
           int first = 1, second = 2, third = 0;
           for (int i = 3; i <=number; i++)
           {
               third = first + second;
               first = second;
               second = third;
           }
           return third;
        }
    
    };
    int main(void)
    {
        Solution s;
        cout <<s.jumpFloor(5);
        return 0;
    }
  • 相关阅读:
    时间序列的小波分析
    粒子群算法优化BP生物能神经网络
    day:3.9基础复习
    计算机网络通信基础
    面向对象的补充
    python中的类和对象
    R语言基础
    函数(2)
    python开发第四篇:函数(1)
    Python开发【第三篇】:Python基本数据类型
  • 原文地址:https://www.cnblogs.com/xiaokang01/p/12456254.html
Copyright © 2020-2023  润新知