美文网首页剑指offer
08-青蛙🐸跳-动态规划

08-青蛙🐸跳-动态规划

作者: 马甲要掉了 | 来源:发表于2020-04-25 18:40 被阅读0次

题目描述

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

分析

  • 分析可知这是斐波那契数列,所以可以动态规划来做

    a.如果两种跳法,1阶或者2阶,
    b.那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1);
    c.假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是f(n-2)
    d.由a\b假设可以得出总跳法为: f(n) = f(n-1) + f(n-2)
    e.然后通过实际的情况可以得出:只有一阶的时候 f(1) = 1 ,只有两阶的时候可以有 f(2) = 2
    f.可以发现最终得出的是一个斐波那契数列

代码

function jumpFloor(number) {
  // write code here
    if(number==1) return 1;
    if(number==2) return 2;
    let last = 1;
    let nextLast = 2;
    let res ;
    for(let i=2;i<number;i++){
        res = last + nextLast;
        last = nextLast;
        nextLast = res;
    }
    return res;
}

相关文章

  • 08-青蛙🐸跳-动态规划

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算...

  • TS数据结构与算法之青蛙跳台阶有几种方式

    问题: 一只青蛙, 一次可跳1级,也可跳2级 问:青蛙跳到n级台阶,总共有多少种方式? 用动态规划分析问题 要跳到...

  • 大数据算法系列15:动态规划

    一. 动态规划概念 伪代码: 重构: 二. 动态规划案例 2.1 青蛙跳台阶 题目:一只青蛙一次可以跳上1级台阶,...

  • codeJan与青蛙——动态规划

    时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit I...

  • LeetCode | 面试题10- II. 青蛙跳台阶问题【剑指

    LeetCode 面试题10- II. 青蛙跳台阶问题【剑指Offer】【Easy】【Python】【动态规划】 ...

  • 青蛙🐸跳

    围成一圈,左手一支手指竖起,右手平伸(准备去抓右手边的小伙伴的手指) 一只青蛙,呱… 两只青蛙,呱呱… 三只青蛙,...

  • Algorithm进阶计划 -- 动态规划(上)

    动态规划动态规划的基本原理动态规划的运用 1. 动态规划的基本原理 动态规划(Dynamic Programmi...

  • 4. 动态规划算法

    1. 动态规划算法总结2. 漫画:什么是动态规划?3.算法之动态规划4. 动态规划-算法

  • 动态规划 Dynamic Programming

    从运筹学和算法的角度综合介绍动态规划 算法分类总结动态规划与静态规划的关系浅析静态规划和动态规划动态规划解非线性规...

  • 08-变态青蛙跳-?

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种...

网友评论

    本文标题:08-青蛙🐸跳-动态规划

    本文链接:https://www.haomeiwen.com/subject/fxnkwhtx.html