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

简介: 一只青蛙一次最少可以跳 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. 谢谢观看哟~

目录
相关文章
|
1月前
|
存储 人工智能 测试技术
2020年第十一届蓝桥杯模拟赛解题报告
2020年第十一届蓝桥杯模拟赛解题报告
|
1月前
|
存储 人工智能 算法
大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
|
9月前
|
存储 AI芯片
百度松果菁英班--oj赛(第五次)
百度松果菁英班--oj赛(第五次)
51 0
|
11月前
|
算法
史上最牛二分查找,不服来战
史上最牛二分查找,不服来战
63 0
|
算法 C++
【每日算法Day 105】打家劫舍第二弹:看好你的电瓶车!
【每日算法Day 105】打家劫舍第二弹:看好你的电瓶车!
|
存储
【蓝桥杯集训·每日一题】AcWing 4309. 消灭老鼠
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 最大公约数
66 0
|
Android开发
LeetCode 双周赛 98,脑筋急转弯转不过来!
大家好,我是小彭。 昨晚是 LeetCode 第 98 场双周赛,你参加了吗?这场周赛需要脑筋急转弯,转不过来 Medium 就会变成 Hard,转得过来就变成 Easy。
70 0
|
存储 人工智能 算法
蓝桥杯十大常见天阶功法——炎之呼吸.叁之型.动态规划--(上篇)
蓝桥杯十大常见天阶功法——炎之呼吸.叁之型.动态规划--(上篇)
185 0
蓝桥杯十大常见天阶功法——炎之呼吸.叁之型.动态规划--(上篇)
|
存储 机器学习/深度学习 算法
蓝桥杯十大常见天阶功法——虫之呼吸.贰之型.二分
蓝桥杯十大常见天阶功法——虫之呼吸.贰之型.二分
233 0
蓝桥杯十大常见天阶功法——虫之呼吸.贰之型.二分
|
机器学习/深度学习 算法 搜索推荐
洛谷每日三题之第六天
洛谷每日三题之第六天