C和C++面试题-跳台阶

10.3 跳台阶

题目链接

牛客网

题目描述

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


解题思路

当 n = 1 时,只有一种跳法:


当 n = 2 时,有两种跳法:


跳 n 阶台阶,可以先跳 1 阶台阶,再跳 n-1 阶台阶;或者先跳 2 阶台阶,再跳 n-2 阶台阶。而 n-1 和 n-2 阶台阶的跳法可以看成子问题,该问题的递推公式为:


public int JumpFloor(int n) {
    if (n <= 2)
        return n;
    int pre2 = 1, pre1 = 2;
    int result = 0;
    for (int i = 2; i < n; i++) {
        result = pre2 + pre1;
        pre2 = pre1;
        pre1 = result;
    }
    return result;
}

相关推荐

  1. C++算法-青蛙台阶面试

    2024-07-22 14:06:05       31 阅读
  2. 青蛙台阶(C语言)

    2024-07-22 14:06:05       50 阅读
  3. C/C++面试

    2024-07-22 14:06:05       37 阅读
  4. C++面试笔试题(三)

    2024-07-22 14:06:05       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 14:06:05       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 14:06:05       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 14:06:05       45 阅读
  4. Python语言-面向对象

    2024-07-22 14:06:05       55 阅读

热门阅读

  1. 【图像处理】不智能的目标识别

    2024-07-22 14:06:05       20 阅读
  2. Linux基础: 五. 文本编辑器vi和vim

    2024-07-22 14:06:05       15 阅读
  3. lua 实现 函数 判断两个时间戳是否在同一天

    2024-07-22 14:06:05       18 阅读
  4. (四)js前端开发中设计模式之简单工厂模式

    2024-07-22 14:06:05       18 阅读
  5. HOW - CSS 定义颜色值

    2024-07-22 14:06:05       16 阅读
  6. Python @staticmethod、super().__init__()和self

    2024-07-22 14:06:05       18 阅读
  7. WHAT - 通过 shadcn 组件源码学习 React

    2024-07-22 14:06:05       14 阅读