题目描述

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

解题思路

这是一个动态规划的题。对于n个台阶,可以是n-1个台阶跳一步得到,也可以是n-2步台阶跳两步得到。因此有递归式 f(n) = f(n-1) + f(n-2);
因此可以使用两种方式递归和循环来实现。

实现

  1. 循环
public class Solution {public int JumpFloor(int target) {if(target==1) return 1;if(target==2) return 2;int fn_1 = 2, fn_2 = 1;int fn = 0;for(int i = 3; i <= target; i++){fn = fn_1 + fn_2;fn_2 = fn_1;fn_1 = fn;}return fn;}
}

2. 递归

public class Solution {public int JumpFloor(int target) {if (target == 0) return 0;int[] dp = new int[target + 1];for (int i = 0 ; i < target + 1; i ++){dp[i] = -1;}dp[0] = 1;dp[1] = 1;return jumpFloor(target, dp);}private int jumpFloor(int n, int[] dp) {if (dp[n] >= 0) return dp[n];else{return dp[n] = fibonacci(n - 1, dp) + fibonacci(n - 2, dp);}}
}

转载于:https://www.cnblogs.com/ggmfengyangdi/p/5763736.html

剑指Offer_08_跳台阶相关推荐

  1. 剑指offer——跳台阶变态跳台阶矩形覆盖

    剑指offer--跳台阶&&变态跳台阶&&矩形覆盖 1.跳台阶 哈哈哈,递归题,一遍过 class Solution { public:int jumpFloor(in ...

  2. [剑指offer] 跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 还是斐波那契: class Solution { public:int jumpFloor(int ...

  3. python剑指offer跳台阶_【剑指offer】跳台阶I和II(Javapython)

    关于本题,前提是n个台阶会有一次n阶的跳法.分析如下: f(1) = 1 f(2) = f(2-1) + f(2-2) //f(2-2) 表示2阶一次跳2阶的次数. f(3) = f(3-1) + f ...

  4. 剑指offer 跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 解决方案: 这个题目是菲波那切数列的变形:这儿使用递归. public class Solutio ...

  5. 剑指Offer——跳台阶

    1.题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 2.代码实现(和斐波那契数列是一模一样的) 1 public in ...

  6. 剑指offer-8 跳台阶

    题目要求:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 解题思路 推导下公式  跳法次数为  1 2 3 5 8 ... f( ...

  7. 剑指offer跳楼梯

    //一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). //递归 class Solution1 {public:int jumpF ...

  8. [剑指Offer]斐波那契数列、跳台阶、兔子数量问题(递归、非递归)(Java)

    剑指Offer题目 斐波那契数列 题目描述 [剑指Offer 7]大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). [剑指Offer 8]一只青蛙 ...

  9. 剑指offer:跳台阶 python 实现

    题目 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 解题思路 草稿上想了想,这道题跟剑指offer: 斐波那契数列 ...

最新文章

  1. UVA1603Square Destroyer破坏正方形
  2. 数据结构实验之排序一:一趟快排
  3. mysql ndb还原数据库_ndb_restore恢复出错
  4. 诗歌的创作、诗词总结与应用
  5. 骚年,还在为歌荒发愁吗?python教你爬取网易云热门歌单
  6. nginx + gunicorn + django 2.0 踩坑
  7. 扩展php-bcmath,centos安装PHP扩展(bcmath)
  8. windows虚拟显示器SDK开发和提供
  9. suse 12 sp5安装bug
  10. 6个实例电路,详解雷击浪涌的防护
  11. 制造业数字化转型存在哪些问题
  12. One Drive 回收站文件太多时无法清空回收站解决办法
  13. 百度搜索引擎结果网址参数搜索历史记录(rsv_sug)
  14. java flappy bird_Java实例---flappy-bird实例解析
  15. 【解救ROS】clion2022.2.2的安装永久使用教程
  16. STM32开发板搭建开发环境之安装篇
  17. 华为设备配置策略路由
  18. 金砖国家智慧城市建设案例
  19. 扫雷游戏(java实现)java小程序
  20. Oracle笔记本(1102)

热门文章

  1. 关于加载 下拉 刷新,和加载更多,
  2. 《C#与.NET3.5高级程序设计(第4版)》笔记10
  3. 自动延时跳转到指定页面JS脚本代码
  4. ubuntu16.04 安装CAJViewer 以及 安装wine /deepin-wine 图标异常的解决
  5. linux 编译器错误,linux – GHCi – Haskell编译器错误 – /home/user/.ghci归其他人所有,IGNORING...
  6. 选择问题 and 字谜游戏问题
  7. LVS的DR模型的实现
  8. 基于数组的无锁队列(译)
  9. 为什么平衡对游戏数值策划如此重要
  10. CMake手册详解 (十二)