美文网首页
剑指Offer-青蛙跳台阶

剑指Offer-青蛙跳台阶

作者: lazydecoder | 来源:发表于2019-04-06 16:34 被阅读0次

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

分析

因为每次只能跳1或2级,想跳上第n个台阶,必须先跳到第n-1 级或者第n级
所以F(n) = F(n-1)+F(n-2),类似于斐波那契数列
这里我犯了一个错误,考虑到在n-2 级,可以选择一次跳两级,也可以选择每次跳1级,跳两次,以为F(n) = 2*F(n-1)+F(n-2),实际上是错误的,因为如果一次跳一级分两次跳的话,跳一级之后到n-1级就是F(n-1) 的情况,不用重复计算,所以只能选择一次跳两级。

class Solution:
    def jumpFloor(self, number):
        # write code here
        if number == 1 or number == 2:
            return number
        a,b = 1,2
        for i in range(number-2):
            c = a+b
            a = b
            b = c
        return c

相关文章

  • 剑指Offer-青蛙跳台阶

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

  • 剑指offer-跳台阶

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

  • 剑指offer

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

  • leetcode--recursion(1)

    剑指 Offer 10- II. 青蛙跳台阶问题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一...

  • 剑指offer-贪心跳台阶

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

  • 青蛙跳台阶问题

    《剑指offer》面试题10(题目二):青蛙跳台阶问题。 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。...

  • 动态规划

    青蛙跳台阶问题 问题:一个青蛙,一次只能跳一级台阶,或者跳两级台阶,这个青蛙跳 n 级台阶有多少种跳法? 如果这只...

  • Leetcode-155Min Stack

    155. Min Stack && 剑指offer-包含min函数的栈 Design a stack that s...

  • 算法---青蛙跳台阶问题

    一只青蛙可以一次跳一级台阶,也可以一次跳两级台阶,如果青蛙要跳上n级台阶,共有多少钟跳法? 问题分析 当青蛙即将跳...

  • 青蛙跳台阶问题

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

网友评论

      本文标题:剑指Offer-青蛙跳台阶

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