青蛙跳台阶

题目描述

一只青蛙一次可以跳上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;

    }
}
#21天打卡剑指offer##笔试题目#
全部评论
学到了学到了😁
点赞
送花
回复
分享
发布于 2020-11-17 11:45

相关推荐

4 4 评论
分享
牛客网
牛客企业服务