这题之前刷leetcode也遇到过,感觉是跟斐波拉契差不多的题。

题目描述:

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

解题思路:

这类题一般就是用递归思想,先考虑跳一级台阶情况,再是两级。发现由于跳台阶的选择只有1级和2级,所以其实跳n级台阶就是跳n-1级和n-2级的和。

本科做斐波拉契用递归时已经知道会超时,由于分别计算f(n-1)和f(n-2)实际是重复计算了,所以用数组去存每次的计算结果,直接调用就可以。

代码:

class Solution {
public:int jumpFloor(int number) {vector<int> sum_jump;sum_jump.push_back(0);sum_jump.push_back(1);sum_jump.push_back(2);for(int i=3; i<=number; i++){sum_jump.push_back(sum_jump[i-1]+sum_jump[i-2]);}return sum_jump[number];}
};

转载于:https://www.cnblogs.com/LJ-LJ/p/10585462.html

剑指offer :跳台阶相关推荐

  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_08_跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 解题思路 这是一个动态规划的题.对于n个台阶,可以是n-1个台阶跳一步得到,也可以是n-2步台阶跳 ...

  7. 剑指offer跳楼梯

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

  8. 剑指offer-8 跳台阶

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

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

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

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

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

最新文章

  1. FM-2018-大熊猫的肠道菌群可能并没有特化出发酵纤维素的能力
  2. NPashaP的二分图源码部分
  3. springcloud 微服务 分布式 Activiti6 工作流 vue.js html 跨域 前后分离
  4. hudson部署过程
  5. 想和高手侃侃而谈C++引用?看这一篇就够了【C++引用】
  6. powerdesigner导出sql时自动生成注释
  7. HDU4405(概率DP求期望)
  8. 如何使用exclipse打开已有的文件夹
  9. 目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结(转)
  10. python from import什么意思_Python 引用From import介绍
  11. linux系统使用小端内存,linux进程内存管理
  12. 数学建模酶促反应matlab求解,数学建模——酶促反应.doc
  13. 【英语学习】【WOTD】chockablock 释义/词源/示例
  14. Ubuntu搜狗输入法乱码
  15. oracle修改用户密码
  16. linux系统下安装游戏,在Linux系统下安装GameHub来管理所有游戏
  17. 递增的整数序列链表的插入_leetcode673_go_最长递增子序列的个数
  18. Fences 2.1 - 高效实用的桌面图标栅栏分类管理软件神器 (桌面图标再多也不会乱)
  19. 2022年南京医院三基考试耳鼻咽喉科学精选题及答案
  20. Android 13 Beta 版发布,诸多亮点不容错过

热门文章

  1. Spring IOC源码笔记(二)
  2. weex 项目开发(五)自定义 过滤函数 和 混合 及 自定义 Header 组件
  3. 控制Arduino的利器-Windows Remote Arduino
  4. 采用Eclipse中间Maven构建Web项目错误(一)
  5. Silverlight 简介 Part.1(理解 Siverlight)
  6. netscreen MIP 问题
  7. 实践:VB创建Com组件 在Asp以及.Net中调用
  8. Summarize 2014 Look Ahead 2015
  9. LOJ2321「清华集训 2017」无限之环
  10. sqoop导出solr数据_用Sqoop把数据从HDFS导入到MYSQL