zoukankan      html  css  js  c++  java
  • 剑指offer 9.变态跳台阶

    9.变态跳台阶

    题目

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

    思路

    与上题相似,假设要到3级,那么可以从0,1,2级直接到三级,那么f3=f1+f2+1,f2=f1+1,f3=4,找规律。
    也可以换一种思路,不限制长度,那就是每一级都可以跳,只有选择跳和不跳,那么就是2^(n-1),结果一样。

    代码

      public static int JumpFloor(int target) {
        if (target <= 0) {
          return 0;
        }
        if(target==1)
        {
          return 1;
        }
        if (target==2)
        {
          return 2;
        }
        int f[] = new int[target + 1];
        f[1] = 1;
        f[2] = 2;
        for (int i = 3; i <= target; i++) {
          f[i] = f[i - 1] + f[i - 2];
        }
        return f[target];
      }
    
  • 相关阅读:
    Java面向对象设计——购物车·
    查找

    栈和队列
    指针
    数组
    第四次博客——函数
    第三次博客作业
    第二次博客作业
    Java购物车大作业01
  • 原文地址:https://www.cnblogs.com/blogxjc/p/12367601.html
Copyright © 2011-2022 走看看