首页 > 青蛙跳台阶
头像
xiaojiangshi
编辑于 2020-05-17 18:36
+ 关注

青蛙跳台阶

题目描述

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

思路:3级台阶=2级台阶的跳法+1级台阶的跳法。因为3级台阶可以是2级台阶跳1级,也可以是1级台阶跳2级

public class Solution {
    public int JumpFloor(int target) {
        //斐波那契数列
//方法一
        /*
        if(target==0){
            return 0;
        }
        if(target==1){
            return 1;
        }
        if(target==2){
            return 2;
        }
        return JumpFloor(target-1)+JumpFloor(target-2);
        */

//方法二
        /*
        if(target==0){
            return 0;
        }
        if(target==1){
            return 1;
        }
        if(target==2){
            return 2;
        }

        int[] arr=new int[target+1];
        arr[0]=0;
        arr[1]=1;
        arr[2]=2;
        for(int i=3;i<=target;i++){
            arr[i]=arr[i-1]+arr[i-2];
        }
        return arr[target];
        */

//方法三
        if(target==0){
            return 0;
        }
        if(target==1){
            return 1;
        }
        if(target==2){
            return 2;
        }


        int a=1;
        int b=2;
        int c=0;
        for(int i=3;i<=target;i++){
            c=a+b;
            a=b;
            b=c;
        }
        return c;

    }
}

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期精华帖

热门推荐