【剑指offer-Java版】09斐波那契数列
斐波那契数:比较简单,但是重点是讲效率的求解出来
简单的使用两个临时变量大大减少了重复计算
对于非常大的数如果使用long 来表示,那么 第100项左右就会发生溢出
换了BigInteger,理论上是可以表示任意大的数
http://blog.csdn.net/w00w12l/article/details/7290750
public class _Q09 {public BigInteger Fibonacci(int n){BigInteger fibOne = BigInteger.ZERO;BigInteger fibTwo = BigInteger.ONE;if(n == 0) return fibOne; if(n == 1) return fibTwo;BigInteger fibN = BigInteger.ZERO;for(int i=2; i<=n; i++){ // 直接按公式从2到nfibN = fibOne.add(fibTwo);fibOne = fibTwo;fibTwo = fibN;}return fibN;}}
测试代码:
public class _Q09Test extends TestCase {_Q09 fib = new _Q09();public void testMinInReverse() throws Exception{BigInteger result = fib.Fibonacci(5000);System.out.println(result);}}
【剑指offer-Java版】09斐波那契数列相关推荐
- 剑指Offer - 面试题10- I. 斐波那契数列
文章目录 1. 题目 2. DP解题 3. 面试题 08.01. 三步问题 4. LeetCode 509. 斐波那契数 1. 题目 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 ...
- python剑指offer面试题_剑指offer面试题Q10 斐波那契数列 python解法
Q10.斐波那契数列 题目描述 写一个函数,输入n,求斐波那契数列的第n项. 解题思路 思路一 递归 递归很简单但是并不能AC python实现代码 class Solution: def Fibon ...
- 剑指offer(7)斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 题目分析 我们都知道斐波那契可以用递归,但是递归重复计算的部分太多了(虽然可以通过),但是这 ...
- 剑指offer面试题10- I. 斐波那契数列
题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: 思路 详见链接 代码 class Solution:def fib(self,n:int) ...
- 剑指offer Leetcode 10 I .斐波那契数列
解法1:效率低的解法 复杂度 速度十分缓慢,重复计算太多 代码 //未考虑溢出和取模 class Solution {public:int fib(int n) {if(n <= 0)retur ...
- 剑指offer面试题[9]-裴波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 分析: 虽然在学递归函数时,会用斐波那契数列作为例子,但这并不能说明递归的解法最合适这个题目 ...
- 剑指offer java版 test3—从尾到头打印链表
标题:剑指offer java版 test3-从尾到头打印链表 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 解答:知识不够全面,用ArrayList做的 但是看到大佬们还可以 ...
- 【Java系列】斐波拉契数列
介绍 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列&q ...
- Java实现递归 斐波那契数列 阶乘
Java实现递归 斐波那契数列 阶乘 阶乘 /*** 使用递归算法求阶乘* 求阶乘 * 5!=5*4*3*2*1; * * 1=1;* 2!=2*1!;* 3! = 3*2!;* 4! = 4*3!; ...
- 事无巨细说Java之---Java 程序 | Java 编程实例--1)Java中的斐波那契数列--Fibonacci series
在斐波那契数列中,下一个数是前两个数的和,例如 0.1.1.2.3.5.8.13.21.34.55 等.斐波那契数列的前两个数是 0 和 1. java中写斐波那契数列程序有两种方式: 不使用递归的斐 ...
最新文章
- 关于部署osd过程中:Device is in use by a device-mapper mapping问题解决
- 人脸识别损失函数笔记
- python的业务场景_python| Binlog务应用场景
- xms跨平台基础框架 - 基于.netcore
- Django的model查询操作 与 查询性能优化
- 深入浅出理解HOG特征---梯度方向直方图
- java——Runtime
- 微信小程序 - 展开收缩列表
- 转: jvm调优参数总结
- 限时抢购促销海报设计没想法,看这里!眼见的倒计时紧迫感
- RedHat Linux和Cent Linux日常运维之安全加固详细篇
- 一个类的类类型是Class类的实例,即类的字节码
- Windows安装apache+php的nts版本
- Bearcat pomelo game 实战 -- treasures
- 非标机械设计老工程师的经验总结,还不赶紧收藏
- 组策略 计算机配置 安全设置,使用组策略配置 Windows 防火墙设置
- 建立stm32工程模板及Keil设置(二)
- Hopping Rabbit---牛客
- android dialog设置背景图片,如何为Dialog设置背景图片?
- python规范化货币_Python货币资金科目分析