美文网首页技术干货
《剑指offer》之Python青蛙跳台阶

《剑指offer》之Python青蛙跳台阶

作者: a295ff153449 | 来源:发表于2020-01-15 14:27 被阅读0次

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

思路:
首先我们先缩小可计算的范围,设置台阶数为n,台阶跳法为m,比如:
当n=1时,此时有一级台阶,则跳法m=1;
当n=2时,此时有两级台阶,可以跳两次一级台阶,也可以一次跳两级台阶。则跳法m=2;
当n=3时,此时有三级台阶,可以跳三次一级台阶,也可以一次跳一级和一次跳两级,反之也成立,则跳法m=3;
当n=4时,此时有四级台阶,可以跳四次一级台阶,可以跳两次两级台阶,可以一次跳一级和一次两级和一次一级,也可以两次一级和一次两级反之也成立,则m=5;
。。。。。。

看到这里是不是想到了什么?---斐波那契数列,哈哈,对头还是斐波那契数列,只不过此次有点不太一样的是在写方法的时候稍微注意一下便可以。
这样子,我们只要知道了n-1和n-2台阶的跳法,就可以得到n台阶的跳法。

参考代码如下:

class Solution:
    def JumpFloor(self,floor):
        if floor <= 2:
            return floor;
        pre1 = 2
        pre2 = 1
        curr = 0
        for i in range(3,floor + 1):
            curr = pre1 + pre2
            pre2 = pre1
            pre1 = curr
        return curr

solu = Solution()
for i in  range(1,7):
    print(solu.JumpFloor(i))

更多精彩请关注:


你想要的都在这里哦~

相关文章

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

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

  • 《剑指offer》之Python青蛙变态跳台阶

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

  • 《剑指offer》之Python青蛙跳台阶

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

  • 剑指offer

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

  • leetcode--recursion(1)

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

  • 青蛙跳台阶问题

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

  • 每日一练(6):青蛙跳台阶问题

    title: 每日一练(6):青蛙跳台阶问题 categories:[剑指offer] tags:[每日一练] d...

  • 剑指Offer(八)

    剑指Offer(八) 跳台阶 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶...

  • 【python】剑指offer,跳台阶?

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

  • leetcode面试top(8动态规划)

    案例一、简单的一维 DP 剑指 Offer 10- II. 青蛙跳台阶问题[https://leetcode-cn...

网友评论

    本文标题:《剑指offer》之Python青蛙跳台阶

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