美文网首页
变态跳问题-Java

变态跳问题-Java

作者: myserendipit | 来源:发表于2018-08-01 13:39 被阅读10次
package algorithm;

public class JumpFloor2 {

  /**
   * 变态跳问题
   * <p>
   * fib(n) = fib(0)+fib(1)+fib(2)+...+fib(n-2)_fib(n-1);
   *
   * @param floor 层数
   * @return 跳的方法总数
   */
  public static long jumpFloor(long floor) {
    if (floor == 0 || floor == 1) {
      return 1;
    } else if (floor == 2) {
      return 2;
    } else if (floor == 3) {
      return 4;
    }
    long res = 0, i = 1;
    while (i <= floor) {
      res += jumpFloor(floor - i);
      i++;
    }
    return res;
  }

  /**
   * 2的n-1次方
   *
   * @param floor
   * @return
   */
  public static long jumpFloor2(long floor) {
    return 1 << --floor;
  }

  /**
   * 2的n-1次方
   *
   * @param floor
   * @return
   */
  public static long jumpFloor3(long floor) {
    long res = 1;
    while ((--floor) > 0) {
      res *= 2;
    }
    return res;
  }


  public static void main(String[] args) {
    /**
     * 因为int取值范围问题,超过32就显示不出了
     */
    System.out.println(jumpFloor2(30));
  }
}

相关文章

  • 变态跳问题-Java

  • 练习9--变态跳青蛙

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

  • 变态跳台阶问题

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

  • 跳IP问题

    关于跳IP问题(详细的专业名词不清楚) 本来A IP应该是在线的,却变离线。B IP应该是离线的,却变在线 关闭全...

  • 面试官:java中的编码转化方式都有哪些?(中兴面试真题)

    昨天晚上在微信上有人跟我说,他去中兴面试,面试官问了一个很变态的问题,问Java中的编码格式转换都有哪几种方式?由...

  • 循环-变态跳台阶-java

    变态跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶...

  • 关于sbt构建库同步不下来的问题

    sbt 俗称死变态。sbt之于scala,就像是maven之于java。用于scala代码的依赖库管理,编译,测试...

  • 女人吸引男人的10个部位

    修长美腿 男人生来好象就爱看女人穿裙子,不是看裙子本身,而是看腿。这不昰变态不变态的问题,这昰一个事实的问题。匀称...

  • iOS 模态弹出半透明界面

    记录工程中遇到的变态产品的变态问题,吧啦吧啦……搜索的资料,以及实验,貌似只能iOS 8+适用,不过iOS 7已经...

  • 你就是个变态

    变态,真是变态,你说你闲着没事控制我手机干吗?不是变态是什么?变态中的变态。

网友评论

      本文标题:变态跳问题-Java

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