跳台阶_08

2021-12-23 18:05:54 浏览数 (1)

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

每一级可能从前一级和前两集跳上来的
普通递归
代码语言:javascript复制
public int jumpFloor(int target) {
        if (target==1){
            return 1;
        }
        if (target==2){
            return 2;
        }
        //可能从前一级和前两集跳上来的
        return jumpFloor(target-1) jumpFloor(target-2);
    }
自底向上推导法,减少重复计算
代码语言:javascript复制
public int jumpFloor(int target) {
        if (target==0||target==1){
            return target;
        }
        int sum=1;
        int one =1;
        for (int i = 2; i <=target ; i  ) {
            sum=sum one;
            one=sum-one;
        }
        return sum;
    }

0 人点赞