美文网首页
经典有水平的java面试题!

经典有水平的java面试题!

作者: 小宇java | 来源:发表于2018-12-27 16:12 被阅读0次

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

    public int JumpFloor(int target) {

    if(target == 1 || target == 2) {

    return target;

    }

    // 第一阶和第二阶考虑过了,初始当前台阶为第三阶,向后迭代

    // 思路:当前台阶的跳法总数=当前台阶后退一阶的台阶的跳法总数+当前台阶后退二阶的台阶的跳法总数

    int jumpSum = 0;// 当前台阶的跳法总数

    int jumpSumBackStep1 = 2;// 当前台阶后退一阶的台阶的跳法总数(初始值当前台阶是第3阶)

    int jumpSumBackStep2 = 1;// 当前台阶后退二阶的台阶的跳法总数(初始值当前台阶是第3阶)

    for(int i = 3; i <= target; i++) {

    jumpSum= jumpSumBackStep1 + jumpSumBackStep2;

    jumpSumBackStep2 = jumpSumBackStep1;// 后退一阶在下一次迭代变为后退两阶

    jumpSumBackStep1 = jumpSum; // 当前台阶在下一次迭代变为后退一阶

    }

    return jumpSum;

    }

    相关文章

      网友评论

          本文标题:经典有水平的java面试题!

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