在这里整理一下递归数列的简单运用。
首先,写写用到的斐波那契数列 0 1 1 2 3 5 8 …
题目1:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

这是一个很正常的一个斐波那契数列,没有任何变化。

public class Solution {public int Fibonacci(int n) {if(n<0){return 0;}else if(n==1||n==2){return 1;}else{return Fibonacci(n-1) + Fibonacci(n-2);}   }
}

题目2:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
这里的斐波那契数列没有“0”,从“1”开始,要注意。

public class Solution {public int JumpFloor(int target) {if(target <= 0){return 1;}else if(target == 1){return 1;}else{return JumpFloor(target - 1) + JumpFloor(target - 2);}}
}

题目3:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
作小小的运算后会发现,这也是一个斐波那契数列的运用。只不过n不能为0,这样,我们就要多写一项,而且这里的斐波那契数列为0 1 2 3 5 8…后面的一样。

public class Solution {public int RectCover(int target) {if(target <= 0){return 0;}else if ( target == 1 ){return 1;}else if ( target == 2 ){return 2;}else{return RectCover(target - 1) + RectCover(target - 2);}}
}

题目4:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
这个其实也是斐波那契数列,只不过作了更多的递归运算。最总我们会发现一个奇妙的值,就是
f ( n ) = 2 * f ( n - 1 ) ( n > 1 )

public class Solution {public int JumpFloorII(int target) {if(target <= 0){return 0;}else if(target == 1){return 1;}else{return 2*JumpFloorII(target - 1);}}
}

剑指offer | 递归数列相关推荐

  1. [剑指offer]JT7---Fibonacci数列(让人想起可塑性记忆,记忆化搜索很重要)

    剑指offer第七题 让我们先来看看题目 思路和代码 普通的Fibonacci数列 记忆化搜索的Fibonacci数列 让我们先来看看题目 思路和代码 就是一个简单的斐波那契函数 但是注意在一些竞赛题 ...

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

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

  3. 7、斐波那契数列、跳台阶、变态跳台阶、矩形覆盖------------剑指offer系列

    题目:斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). f(n) = f(n-1) + f(n-2) 基本思路 这道题在剑指offe ...

  4. 【剑指offer】10A--求裴波那切数列的第n项,C++实现

    #本文是牛客网<剑指offer>刷题笔记 1.题目 写入一个函数,输入n,输出裴波那切数列的第n项 2.思路 递归--时间和空间复杂度高 循环--时间和空间复杂度低,通过循环迭代计算第n项 ...

  5. 剑指Offer #07 斐波那契数列(四种解法)| 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 题目解析 ...

  6. 剑指 Offer 10- I. 斐波那契数列 (从重叠子问题到备忘录到dp数组迭代解法)

    目录 题目描述 1.暴力递归法的重叠子问题 2.备忘录解法 3.dp数组迭代算法 4.滚动数组优化 5.参考链接 题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐 ...

  7. 【LeetCode】剑指 Offer 10- I. 斐波那契数列

    [LeetCode]剑指 Offer 10- I. 斐波那契数列 文章目录 [LeetCode]剑指 Offer 10- I. 斐波那契数列 一.递归 二.递归+哈希表 三.动态规划 总结 一.递归 ...

  8. 剑指offer:斐波那契数列

    目录 题目 解题思路 具体代码 题目 题目链接 剑指offer:斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). n< ...

  9. 剑指offer——面试题9:求斐波那切数列的四种方法

    剑指offer--面试题9:求斐波那切数列的四种方法 另一个相关的链接:https://blog.csdn.net/Allenlzcoder/article/details/80297333 总结下求 ...

最新文章

  1. linux网络编程学习笔记之三 -----多进程并发服务端
  2. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
  3. Linux内核模块开发 Slab高速缓存接口与用例
  4. Android 开发, Android 安全 精品资料收集
  5. android 如何使用android:supportsRtl属性
  6. 绘制矩形php,PHP_php绘制一个矩形的方法,本文实例讲述了php绘制一个矩 - phpStudy...
  7. 数据库基础知识——TCL语言
  8. 一位Oracle顶流铁粉的“躬身入局”
  9. 微信开发经常会用到的一些方法
  10. [导入]QZONE跳转FLASH地址生成工具
  11. 要毕业了,整理要卖的书,发现大一大二的时候的涂鸦
  12. 前端毕业设计:Nodejs+Vue菜鸟驿站仓库管理系统的设计与实现
  13. 0.Java介绍(Java语言特点,什么是JDK、JRE、JVM,Java开发注意事项和细节说明,Java转义字符)
  14. 学习总结以及对接下来的规划
  15. 基础知识点|命令执行漏洞相关总结
  16. 转载:optparse模块OptionParser学习
  17. 各大官网的隐藏彩蛋,我感觉自己打开了新世界的大门...
  18. 串口转IAP然后到APP
  19. 找不到网络路径计算机共享,win10 局域网共享问题 提示0x80070035 找不到网络路径...
  20. 【Linux】logrotate 详细介绍,看完就会

热门文章

  1. 【Dlib】人脸检测、特征点检测、人脸对齐、人脸识别
  2. 剖析氏系社会对人类社会发展的影响与作用
  3. 计算机成就未来作文,科技成就未来作文五篇
  4. 湖南推进“智赋万企”行动 为园区插上智能化翅膀
  5. 边界值分析法测试用例
  6. 将input中的光标移动到文字的末尾后,怎么用js显示光标当前的位置?
  7. Fastreport报表 获取列表多选数据
  8. js获取当前应用根路径contextPath完美方案
  9. 双飞翼 html 布局,css实现双飞翼布局的四种方法(附代码)
  10. 利用Excel VBA将坐标点直接转换为谷歌地球的kml格式文件(ExcelToKml)