跳台阶

作者: 刘小树树树树 | 来源:发表于2019-11-16 22:56 被阅读0次

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

解析
因为青蛙只有跳1级和跳2级两种跳法;所以,n级台阶就相当于n-1级再跳一次1级的和n-2级再跳一次2级的。即f(n)=f(n-1)+f(n-2)。和斐波那契数列是一样的。

Java

/**
 * 递归
 * 运行时间:421ms
 * 占用内存:9180k
 */
public int jumpFloor(int target) {
    if (target <= 2) {
        return target;
    }
    return jumpFloor(target-1) + jumpFloor(target-2);
}

/**
 * 循环赋值
 * 运行时间:19ms
 * 占用内存:9208k
 * @param target
 * @return
 */
public int jumpFloor2(int target) {
    if (target <= 2) {
        return target;
    }
    int one = 1;
    int two = 2;
    int result = 0;
    for (int i = 3; i <= target; i++) {
        result = one + two;
        one = two;
        two = result;
    }
    return result;
}

Python

class JumpFloor:
    def jumpFloor(self, number):
        if number <= 2:
            return number
        return self.jumpFloor(number-1) + self.jumpFloor(number-2)

    def jumpFloor2(self, number):
        res = [0,1,2]
        while len(res) <= number:
            res.append(res[-1] + res[-2])
        return res[number]

相关文章

  • 青蛙跳台阶--python

    一只青蛙可以一次跳 1 级台阶或者一次跳 2 级台阶,例如:跳上第 1 级台阶只有一种跳法:直接跳 1 级即可。跳...

  • 动态规划

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

  • 跳台阶

    问题描述:?一次可以跳1级台阶,也可以跳2级台阶,问?跳上n级台阶有多少种跳法。 寻找递推关系:1.如果第一次跳1...

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

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

  • 青蛙跳台阶问题

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

  • 疯狂跳台阶

    ?一次可以选择跳1、2...n级台阶,问跳到n级台阶有多少种跳法 设F(n-i)表示第一次跳i(i

  • 面试题Fibonacci数列:一个台阶总共有n级,如果一次可以跳

    思路: 如果只有1 级台阶,只有一种跳法;如果有2 级台阶,那就有两种跳的方法了:一种是分两次跳,每次跳1 级;另...

  • 跳台阶问题

    跳台阶问题 题目描述: 一个台阶总共有 n 级,如果一次可以跳 1 级,也可以跳 2 级。求总共有多少种跳法,并分...

  • 榜样的力量

    昨晚跟小飞跳台阶。未等小飞开始,我就2级2级的往上跳。38级台阶,跳完后走下来继续。试着一次跳3级,不能连...

  • 跳台阶,生小兔(斐波那契数列)

    题目描述: 一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法。分析:台阶数 1 2 3 4...

网友评论

      本文标题:跳台阶

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