zoukankan      html  css  js  c++  java
  • 【编程题目】跳台阶问题(递归)

    27.跳台阶问题(递归)
    题目:一个台阶总共有 n 级,如果一次可以跳 1 级,也可以跳 2 级。
    求总共有多少总跳法,并分析算法的时间复杂度。
    这道题最近经常出现,包括 MicroStrategy 等比较重视算法的公司
    都曾先后选用过个这道题作为面试题或者笔试题。

    思路:不难 注意边界 就是时间复杂度我没求出来 上网搜的答案

    /*
    27.跳台阶问题(递归)
    题目:一个台阶总共有 n 级,如果一次可以跳 1 级,也可以跳 2 级。
    求总共有多少总跳法,并分析算法的时间复杂度。
    这道题最近经常出现,包括 MicroStrategy 等比较重视算法的公司
    都曾先后选用过个这道题作为面试题或者笔试题。
    */
    
    #include <stdio.h>
    
    int jump(int n)
    {
        if(n == 1 || n == 2) //注意 边界情况
        {
            return n;
        }
        else if(n <= 0)
        {
            return 0;
        }
        else
        {
            int r1 = jump(n - 1);
            int r2 = jump(n - 2);
            return r1 + r2;
        }
    }
    
    int main()
    {
        int ways = jump(4);
        return 0;
    }
    
    //斐波那契数列 时间复杂度 O(2^n)
  • 相关阅读:
    Chapter01_前言、入门程序、常量、变量
    面向对象知识点总结
    Java快捷键
    上线
    docker
    分页,过滤,搜索,排序
    Celery
    django-redis 缓存使用
    前台登录注册修订
    短信注册接口
  • 原文地址:https://www.cnblogs.com/dplearning/p/3891099.html
Copyright © 2011-2022 走看看