剑指offer | 递归数列
在这里整理一下递归数列的简单运用。
首先,写写用到的斐波那契数列 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 | 递归数列相关推荐
- [剑指offer]JT7---Fibonacci数列(让人想起可塑性记忆,记忆化搜索很重要)
剑指offer第七题 让我们先来看看题目 思路和代码 普通的Fibonacci数列 记忆化搜索的Fibonacci数列 让我们先来看看题目 思路和代码 就是一个简单的斐波那契函数 但是注意在一些竞赛题 ...
- [剑指Offer]斐波那契数列、跳台阶、兔子数量问题(递归、非递归)(Java)
剑指Offer题目 斐波那契数列 题目描述 [剑指Offer 7]大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). [剑指Offer 8]一只青蛙 ...
- 7、斐波那契数列、跳台阶、变态跳台阶、矩形覆盖------------剑指offer系列
题目:斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). f(n) = f(n-1) + f(n-2) 基本思路 这道题在剑指offe ...
- 【剑指offer】10A--求裴波那切数列的第n项,C++实现
#本文是牛客网<剑指offer>刷题笔记 1.题目 写入一个函数,输入n,输出裴波那切数列的第n项 2.思路 递归--时间和空间复杂度高 循环--时间和空间复杂度低,通过循环迭代计算第n项 ...
- 剑指Offer #07 斐波那契数列(四种解法)| 图文详解
题目来源:牛客网-剑指Offer专题 题目地址:斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 题目解析 ...
- 剑指 Offer 10- I. 斐波那契数列 (从重叠子问题到备忘录到dp数组迭代解法)
目录 题目描述 1.暴力递归法的重叠子问题 2.备忘录解法 3.dp数组迭代算法 4.滚动数组优化 5.参考链接 题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐 ...
- 【LeetCode】剑指 Offer 10- I. 斐波那契数列
[LeetCode]剑指 Offer 10- I. 斐波那契数列 文章目录 [LeetCode]剑指 Offer 10- I. 斐波那契数列 一.递归 二.递归+哈希表 三.动态规划 总结 一.递归 ...
- 剑指offer:斐波那契数列
目录 题目 解题思路 具体代码 题目 题目链接 剑指offer:斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). n< ...
- 剑指offer——面试题9:求斐波那切数列的四种方法
剑指offer--面试题9:求斐波那切数列的四种方法 另一个相关的链接:https://blog.csdn.net/Allenlzcoder/article/details/80297333 总结下求 ...
最新文章
- linux网络编程学习笔记之三 -----多进程并发服务端
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
- Linux内核模块开发 Slab高速缓存接口与用例
- Android 开发, Android 安全 精品资料收集
- android 如何使用android:supportsRtl属性
- 绘制矩形php,PHP_php绘制一个矩形的方法,本文实例讲述了php绘制一个矩 - phpStudy...
- 数据库基础知识——TCL语言
- 一位Oracle顶流铁粉的“躬身入局”
- 微信开发经常会用到的一些方法
- [导入]QZONE跳转FLASH地址生成工具
- 要毕业了,整理要卖的书,发现大一大二的时候的涂鸦
- 前端毕业设计:Nodejs+Vue菜鸟驿站仓库管理系统的设计与实现
- 0.Java介绍(Java语言特点,什么是JDK、JRE、JVM,Java开发注意事项和细节说明,Java转义字符)
- 学习总结以及对接下来的规划
- 基础知识点|命令执行漏洞相关总结
- 转载:optparse模块OptionParser学习
- 各大官网的隐藏彩蛋,我感觉自己打开了新世界的大门...
- 串口转IAP然后到APP
- 找不到网络路径计算机共享,win10 局域网共享问题 提示0x80070035 找不到网络路径...
- 【Linux】logrotate 详细介绍,看完就会