一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
java版本:
public class Solution {public  static void main(String[] args){long startTime=System.currentTimeMillis();System.out.println("第4项的结果是:"+JumpFloorII(4));long endTime=System.currentTimeMillis();System.out.println("程序执行的时间:"+(endTime-startTime)+"ms");}/*递归*/public static int JumpFloorII(int target){if(target==1){return 1;}else{return 2*JumpFloorII(target-1);}}/*左移*//*public static int JumpFloorII(int target){int a=1;return a<<(target-1);}*/}

js版本:

function jumpFloorII(number)
{if(number==1){return number;}else{return 2*jumpFloorII(number-1);      }// write code here
}

总结:用递归的思路

第一步可以跳1阶,跳2阶.......可以跳n阶,有n种跳法。

第二步剩余(n-1)个台阶,f(n-1)种跳法。

第三步剩余(n-2)个台阶,f(n-2)种跳法。

所以

f(n)=f(n-1)+f(n-2)+.........f(1)

f(n-1)=f(n-2)+f(n-3)+.........f(1)

两式相减得到发f(n)=2*f(n-1)。

左移思路:

每一项的结果都是上一项的2倍,所以左移1位。

转载于:https://www.cnblogs.com/yyfyl/p/9409360.html

剑指offer 09变态跳台阶相关推荐

  1. 剑指Offer #09 变态跳台阶(数列推导)

    题目来源:牛客网-剑指Offer专题 题目地址:变态跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 题目解析 这道题有 ...

  2. 剑指offer九:变态跳台阶

    一.题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 二.解题思路 可以延续上一题的思路,逆向思维来考虑这个问题.要想跳到第n级 ...

  3. 剑指offer:变态跳台阶

    题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 解题思路: 和之前跳台阶问题相比,这道题就是将跳台阶的类型增加到了n.实际上 ...

  4. 《剑指offer》变态跳台阶

    题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析:由上一篇跳台阶知道f(n)=f(n-1)+f(n-2)种,现在可以跳n阶,则 ...

  5. 《剑指Offer》 变态跳台阶

    题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 思路: 这个其实是一道动态规划问题,d[1]=1,d[i]=d[i-1]+d ...

  6. 牛客网-《剑指offer》-变态跳台阶

    C++ 1 class Solution { 2 public: 3 int jumpFloorII(int n) { 4 return 1<<--n; 5 } 6 }; 推导: 关于本题 ...

  7. 剑指offer之变态跳台阶

    问题描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 求解思路 该题目肯定不能用递归求解和组合路径的方式.结合前一个题目的斐 ...

  8. 【剑指offer】变态跳台阶

    时间限制:1秒 空间限制:32768K 热度指数:255284 算法知识视频讲解 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法 ...

  9. 《LeetCode力扣练习》剑指 Offer 10- II. 青蛙跳台阶问题 Java

    <LeetCode力扣练习>剑指 Offer 10- II. 青蛙跳台阶问题 Java 一.资源 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总 ...

最新文章

  1. python属于哪种类型的语言_Python是什么类型的编程语言,有什么特性
  2. 一位年轻董事长给大学生的18条好建议
  3. 旧手机的新玩法:postmarketOS 已适配上百款安卓手机
  4. 事务配置_SSH(五)- 使用注解方式配置事务管理
  5. SQL SERVER With语法[转]
  6. 关于memcpy和memmove两函数的区别
  7. Linux下导出MySQL为SQL文件_MySQL导入导出.sql文件步骤
  8. 使用spring-data-jpa实现简单的两表联查
  9. cad通过钢筋大样生成钢筋明细表插件_如何设计一套建筑电气CAD施工图?看完你就知道!涨知识...
  10. SQL:postgresql将查询结果拼接起来
  11. python 自动执行 apdl_在高效的mann中从Python运行ANSYS Mechanical APDL
  12. Project2007工具栏没有Pert分析按钮
  13. 彩色图片如何转为单色位图bmp :用window画板
  14. 关于Chrome不显示图片的问题
  15. 选队长游戏(Java)
  16. Java常用类思维导图总结
  17. ps软件哪个好?十年老用户推荐这两个给你
  18. 【Matlab图像去噪】改进非局部均值红外图像混合噪声【含源码 1640期】
  19. 语音对讲软件_微信语音转播软件是哪个?怎样一键转发?
  20. C++ 与cocos2d-x-4.0完成太空飞机大战 (二)

热门文章

  1. dart语言中的常量与变量
  2. AcWing 1913. 公平摄影(前缀和+STL)
  3. python压缩数据数组长度_python – 如何解压缩字节数组中的gzipped数据?
  4. java 绘制sin函数图像_第11讲 数学软件Mathematica内置函数的使用规则
  5. tomcat UTF-8格式的HTML文件乱码
  6. R中双表操作学习[转载]
  7. windows上编译和安装hadoop2 (一)
  8. [摘译]js内存泄漏常见的四种情况
  9. 一入python深似海--浅拷贝与深拷贝
  10. php -- 魔术方法 之 自动加载:__autoload()