剑指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 级的台阶总 ...
最新文章
- Kafka- Spark消费Kafka
- 商业模式新生代_业务分析基础 - 商业模式新生代01篇
- rss 订阅实现-iOS版
- 继承redis spring_Spring 极速集成注解 Redis 实践
- Yii2性能优化之:缓存依赖
- 2017.05.12_SAP特殊功能
- 驱动重构SDN/NFV奠定未来网络基石
- python设置tk退出_Tkinter退出按钮
- java分形树_java画分形树实例
- ubuntu12.04完美安装QQ2012、QQMusic、Foxmail等
- WEB安全——文件上传
- 自己不优秀,认识谁都没用
- unity3d内存分析工具memory profiler
- 十万个seo_2020年将抛弃10个SEO神话
- 数据结构:弗洛伊德算法(最短路径)图文详解
- 【证明】对称矩阵特征方程k重根恰有k个线性无关的特征向量
- 屏幕刷新机制小结(九)
- 如何进行接口测试(一篇学会)
- depot_tools download CPID client for windows 设置代理
- markdown之mermaid