斐波那契O(N)方法实现

Posted heibingtai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了斐波那契O(N)方法实现相关的知识,希望对你有一定的参考价值。

 

问题描述:

实现时间复杂度O(N)的斐波那契解法。

 

算法实现:

public static int fibonacci(int n) {

if(n < 1) {
return 0;
}
if(n == 1 || n == 2) {
return 1;
}

int pre = 1;
int res = 1;
int tmp;
for(int i = 3; i <= n; i++) {

tmp = res;
res += pre;
pre = tmp;
}

return res;

}

 

算法解析:

1.区别于暴力递归,通过设置额外遍历降低时间复杂度;

2.具体实现看代码即可,要有意识的追求时间复杂度更低的解法,并代码实现;

3.它山之石,可以攻玉。

 

以上是关于斐波那契O(N)方法实现的主要内容,如果未能解决你的问题,请参考以下文章

斐波那契数列的实现算法

类似斐波那契数列的递归

斐波那契问题(java)

谁能帮我用JAVA编写一个斐波那契数列,用eclipse实现,代码不对不采纳!

剑指Offer斐波那契数列

编写一递归函数求斐波那契数列的前40项