【剑指offer-Java版】09斐波那契数列
来源:互联网 发布:mysql 5.7.17.msi下载 编辑:程序博客网 时间:2024/06/12 21:23
斐波那契数:比较简单,但是重点是讲效率的求解出来
简单的使用两个临时变量大大减少了重复计算
对于非常大的数如果使用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到n fibN = 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); } }
0 0
- 【剑指offer-Java版】09斐波那契数列
- 剑指offer:斐波那契数列(java)
- 《剑指offer》牛客网java题解-斐波那契数列
- 【剑指offer】斐波那契数列
- 剑指offer--斐波那契数列
- 剑指Offer-斐波那契数列
- 剑指offer:斐波那契数列
- 《剑指offer》斐波那契数列
- 剑指 offer:斐波那契数列
- 【剑指Offer】斐波那契数列
- 剑指offer 斐波那契数列
- 【剑指offer】斐波那契数列
- 剑指offer 斐波那契数列
- [剑指offer]斐波那契数列
- 剑指offer|斐波那契数列
- 【剑指offer】斐波那契数列
- 剑指offer--斐波那契数列
- 剑指Offer:斐波那契数列
- php通过网页地址获取该地址下的内容
- Bash on Ubuntu on Windows ^_^
- 123
- UVaLA 3026 Period MP算法
- OpenCV4Android(AS)-1
- 【剑指offer-Java版】09斐波那契数列
- YT 督促训练 fzoj 2012Solve equation 各种进制转换为10进制
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- 如何减少Z-STACK Coordinator内存开销
- php 排序字典
- WCF 大数据传输问题
- Maven项目中找不到property文件
- 1.5.初步体验结构体
- 有趣的JavaScript原生数组函数