剑指offer 08跳台阶

Posted yyfyl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer 08跳台阶相关的知识,希望对你有一定的参考价值。

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

java版本:

public class Solution {

    public  static void main(String[] args){
        long startTime=System.currentTimeMillis();
        System.out.println("第30项的结果是:"+JumpFloor(30));
        long endTime=System.currentTimeMillis();
        System.out.println("程序执行的时间:"+(endTime-startTime)+"ms");
    }
    public static int JumpFloor(int target){
        int a=2,b=1,c=0;
        if(target==1||target==2){
            return target;
        }else{
            for(int i=3;i<=target;i++){
                c=a+b;
                b=a;
                a=c;
            }
            return c;
        }
    }
    /*public static int JumpFloor(int number){
        if(number<=0) {
               return 0;
            }else if(number>0&&number<4){
               return number;
            }else{
               return JumpFloor(number-1)+JumpFloor(number-2);
            }
    }
    */
}

js版本:

function jumpFloor(number)
{
    if(number<=0) {
       return 0;
    }else if(number>0&&number<4){
       return number;
    }else{
       return jumpFloor(number-1)+jumpFloor(number-2);
    }
    // write code here
}

总结:和昨天的斐波那契数列思路一致,递归的非常消耗时间。建议用存取中间项的形式做。

 

以上是关于剑指offer 08跳台阶的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer变态跳台阶

剑指 Offer 10- II. 青蛙跳台阶问题

剑指Offer打卡10-2.青蛙跳台阶问题

剑指Offer打卡10-2.青蛙跳台阶问题

《剑指Offer——10- I. 斐波那契数列,10- II. 青蛙跳台阶问题63. 股票的最大利润》代码

剑指 Offer 10- II. 青蛙跳台阶问题