美文网首页
剑指offer面试题09-2----跳台阶

剑指offer面试题09-2----跳台阶

作者: minningl | 来源:发表于2017-07-28 23:06 被阅读25次

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

思路:青蛙跳n级台阶的跳法相当于青蛙跳青蛙跳n-1级台阶后再跳1级,或者青蛙跳n-2级台阶后再跳2级,因此 f(x) = f(x-1) + f(x-2) , n>=2,当n<2时的情况易得。

Python代码如下:

class Solution:
    def jumpFloor(self, number):
        dp = [0, 1, 2]
        
        for i in range(3, number+1):
            dp.append(dp[i-1]+dp[i-2])
            
        return dp[number]

    def jumpFloor2(self, number):
        # 空间复杂度O(1)
        dp = [0, 1, 2]
        if number<=2:
            return dp[number]
        left = 1
        right = 2
        for i in range(3, number+1):
            mid = right
            right = left + right
            left = mid
        return right

相关文章

  • 剑指offer面试题09-2----跳台阶

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

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

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

  • 青蛙跳台阶问题

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

  • [剑指offer] 跳台阶

    本文首发于我的个人博客:尾尾部落 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台...

  • 剑指Offer——跳台阶

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

  • [剑指Offer]跳台阶

    本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/03...

  • 2019校招Android面试题解1.0(算法篇)

    在校招题解的算法篇中,还整理了部分《剑指offer》原题,这里均用Java实现。 校招面试题解 剑指offer题解...

  • 【剑指offer】面试题9—跳台阶

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

  • 青蛙跳台阶问题扩展(变态跳台阶)

    《剑指offer》面试题10(题目二)扩展问题: 题目:在青蛙跳台阶的问题中,如果把条件改成:一只青蛙一次可以跳上...

  • P223-n个骰子的点数

    (剑指Offer)面试题43:n个骰子的点数 n 个锻子的点数

网友评论

      本文标题:剑指offer面试题09-2----跳台阶

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