剑指offer 09变态跳台阶
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变态跳台阶相关推荐
- 剑指Offer #09 变态跳台阶(数列推导)
题目来源:牛客网-剑指Offer专题 题目地址:变态跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 题目解析 这道题有 ...
- 剑指offer九:变态跳台阶
一.题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 二.解题思路 可以延续上一题的思路,逆向思维来考虑这个问题.要想跳到第n级 ...
- 剑指offer:变态跳台阶
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 解题思路: 和之前跳台阶问题相比,这道题就是将跳台阶的类型增加到了n.实际上 ...
- 《剑指offer》变态跳台阶
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析:由上一篇跳台阶知道f(n)=f(n-1)+f(n-2)种,现在可以跳n阶,则 ...
- 《剑指Offer》 变态跳台阶
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 思路: 这个其实是一道动态规划问题,d[1]=1,d[i]=d[i-1]+d ...
- 牛客网-《剑指offer》-变态跳台阶
C++ 1 class Solution { 2 public: 3 int jumpFloorII(int n) { 4 return 1<<--n; 5 } 6 }; 推导: 关于本题 ...
- 剑指offer之变态跳台阶
问题描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 求解思路 该题目肯定不能用递归求解和组合路径的方式.结合前一个题目的斐 ...
- 【剑指offer】变态跳台阶
时间限制:1秒 空间限制:32768K 热度指数:255284 算法知识视频讲解 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法 ...
- 《LeetCode力扣练习》剑指 Offer 10- II. 青蛙跳台阶问题 Java
<LeetCode力扣练习>剑指 Offer 10- II. 青蛙跳台阶问题 Java 一.资源 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总 ...
最新文章
- python属于哪种类型的语言_Python是什么类型的编程语言,有什么特性
- 一位年轻董事长给大学生的18条好建议
- 旧手机的新玩法:postmarketOS 已适配上百款安卓手机
- 事务配置_SSH(五)- 使用注解方式配置事务管理
- SQL SERVER With语法[转]
- 关于memcpy和memmove两函数的区别
- Linux下导出MySQL为SQL文件_MySQL导入导出.sql文件步骤
- 使用spring-data-jpa实现简单的两表联查
- cad通过钢筋大样生成钢筋明细表插件_如何设计一套建筑电气CAD施工图?看完你就知道!涨知识...
- SQL:postgresql将查询结果拼接起来
- python 自动执行 apdl_在高效的mann中从Python运行ANSYS Mechanical APDL
- Project2007工具栏没有Pert分析按钮
- 彩色图片如何转为单色位图bmp :用window画板
- 关于Chrome不显示图片的问题
- 选队长游戏(Java)
- Java常用类思维导图总结
- ps软件哪个好?十年老用户推荐这两个给你
- 【Matlab图像去噪】改进非局部均值红外图像混合噪声【含源码 1640期】
- 语音对讲软件_微信语音转播软件是哪个?怎样一键转发?
- C++ 与cocos2d-x-4.0完成太空飞机大战 (二)
热门文章
- dart语言中的常量与变量
- AcWing 1913. 公平摄影(前缀和+STL)
- python压缩数据数组长度_python – 如何解压缩字节数组中的gzipped数据?
- java 绘制sin函数图像_第11讲 数学软件Mathematica内置函数的使用规则
- tomcat UTF-8格式的HTML文件乱码
- R中双表操作学习[转载]
- windows上编译和安装hadoop2 (一)
- [摘译]js内存泄漏常见的四种情况
- 一入python深似海--浅拷贝与深拷贝
- php -- 魔术方法 之 自动加载:__autoload()