青蛙跳台阶问题(史上最详细)

简介: 一只青蛙一次最少可以跳 1层 台阶,一次最多可以跳 2层 台阶,求:该青蛙跳上n 层 的台阶总共有多少种跳法?

一、提出背景



一只青蛙一次最少可以跳 1层 台阶,一次最多可以跳 2层 台阶,求:该青蛙跳上n 层 的台阶总共有多少种跳法?


二、分析问题



9fa65ad81bb0472db06d146c1eee8a00.jpg


如上图分析:


一层台阶:1种跳法

两层台阶:2种跳法

三层台阶:3种跳法

四层台阶:5种跳法


那么我们可以列一个数列:

1 2 3 5 8 13 21 34…


对这些数字是不是很熟悉?没错,问题其实就是隐含了斐波那契数列的思想


三、搜寻规律



  1. F(1) = 1,F(2) = 2
  2. 当 n >= 3 时, F(n) = F(n - 1) + F(n - 2)


程序清单1(递归法):


public class Test1 {
    public static void main(String[] args) {
        int n = 10;
        for (int i = 1; i <= n; i++) {
            System.out.println(fib(i));
        }
    }
    public static int fib(int n){
        if(n==1 || n==2){
            return n;
        }
        else{
            return fib(n-1)+ fib(n-2);
        }
    }
}
//输出 1 2 3 5 8 13 21 34 55 89


程序清单2(迭代法):


public class Test2 {
    public static void main(String[] args) {
        int n = 10;
            fib(n);
    }
    public static void fib(int n){
        int a = 1;
        int b = 2;
        for (int i = 1; i <= n; i++) {
            if (i == 1 || i == 2) {
                System.out.println(i);
            } else {
                int c = a + b;
                a = b;
                b = c;
                System.out.println(c);
            }
        }
    }
}
//输出 1 2 3 5 8 13 21 34 55 89


迭代法分析:


1c198ecd7f0846e3b7cead54b38ad985.jpg


总结



  1. 经典问题都是有其对应的规律的,通过画图实验一次,两次,三次…找到规律,就能得出结果,不必深挖,否则会陷入问题本身的死循环


  1. 下一篇博客,十七为大家分享汉诺塔的问题


ae6d8c54ba9a472b9061b4942902cf2f.jpg


Over. 谢谢观看哟~

目录
相关文章
|
6月前
|
存储 人工智能 测试技术
2020年第十一届蓝桥杯模拟赛解题报告
2020年第十一届蓝桥杯模拟赛解题报告
|
算法
LeetCode 周赛(2023/07/08)渐入佳境
- 往期回顾:[LeetCode 单周赛第 351 场 · 一场关于子数组的专题周赛](https://mp.weixin.qq.com/s/0KIaUMEpLZw6poHs3cc7MA)
119 0
|
算法 C++
【每日算法Day 105】打家劫舍第二弹:看好你的电瓶车!
【每日算法Day 105】打家劫舍第二弹:看好你的电瓶车!
三道好题分享
上课睡觉 - AcWing题库
86 0
第一届ACC(AcWing Cup)全国高校联赛初赛:个人版题解
第一届ACC(AcWing Cup)全国高校联赛初赛:个人版题解
159 0
第一届ACC(AcWing Cup)全国高校联赛初赛:个人版题解
|
Android开发
LeetCode 双周赛 98,脑筋急转弯转不过来!
大家好,我是小彭。 昨晚是 LeetCode 第 98 场双周赛,你参加了吗?这场周赛需要脑筋急转弯,转不过来 Medium 就会变成 Hard,转得过来就变成 Easy。
85 0
|
机器学习/深度学习
2018NOIP集训-5 货物运输(倍增)
2018NOIP集训-5 货物运输(倍增)
96 0
2018NOIP集训-5 货物运输(倍增)
L1-079 天梯赛的善良 (20 分)
L1-079 天梯赛的善良 (20 分)
215 0
7-7 天梯赛的善良 (20 分)
7-7 天梯赛的善良 (20 分)
282 0
下一篇
无影云桌面