Solution 19: Fibonacci数列
生活随笔
收集整理的這篇文章主要介紹了
Solution 19: Fibonacci数列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
求Fibonacci數列的第n項。Fibonacci數列為1,1,2,3,5,...
?
解決思路
(1) 遞歸,指數級時間復雜度;
(2) 循環,O(n)時間復雜度;
(3) 矩陣乘法,O(logn)時間復雜度;
(4) 公式法,O(1)時間復雜度。
?
程序
?
public class Fibonacci {public int getNthElemRec(int n) {if (n <= 0) {return -1;}if (n <= 2) {return 1;}return getNthElemRec(n - 1) + getNthElemRec(n - 2);}public int getNthElemNoRec(int n) {if (n <= 0) {return -1;}if (n <= 2) {return 1;}int a = 1, b = 1;int res = 0;while (n >= 3) {res = a + b;a = b;b = res;--n;}return res;} }
轉載于:https://www.cnblogs.com/harrygogo/p/4623649.html
總結
以上是生活随笔為你收集整理的Solution 19: Fibonacci数列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 到哪里医院治疗输卵管堵了好
- 下一篇: 模型和控制器-起步阶段