斐波那契数列
来源:互联网 发布:西门子plc编程入门教程 编辑:程序博客网 时间:2024/06/05 11:25
斐波那契数列默认前两项是0, 1,后面每一项数字都是其前面两项数字的和。
0, 1, 1, 2, 3, 5, 8…
关于斐波那契数列,一般情况下,我们首先想到的都是递归实现。
public static int Fibonacci(int n) { if (n <= 1) { return n; } else { return Fibonacci(n - 1) + Fibonacci(n - 2); }}
但是由于递归实现时重复计算次数太多,当n很大时要耗时很久,时间复杂度随n呈指数形式增加。所以可行性不高。
第二种做法,我们直接使用循环累加,每一项都等于它前面两项的和。
public static int Fibonacci(int n) { if (n <= 1) return n; int firstItem = 0; int secondItem = 1; int fib = 0; for (int i = 2; i <= n; i++) { fib = firstItem + secondItem; firstItem = secondItem; secondItem = fib; } return fib;}
时间复杂度为O(n).
0 0
- 斐波那契数列数列计算
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- 斐波那契数列
- Liunx 搜索命令
- 自己动手写操作系统之1:bochs初步使用
- Android-Proguard代码混淆
- leetcode之Power of Two
- document.ready和onload的区别——JavaScript文档加载完成的那点事儿
- 斐波那契数列
- Java中关于getInstance方法的阐述
- asp 为 datalist 添加 增删改 事件
- 离线Markdown编辑器推荐
- Servlet与web.xml传值问题
- keepalive安装配置
- 关于linux系统中的权限
- 1006. Sign In and Sign Out
- 解决 error while loading shared libraries: libghttp.so.1: cannot open shared object file