劍指offer-9-斐波那契數列-java
題目及測試
package sword009;
/* 題目描述:寫一個函式,輸入n,求斐波那契數列的第n項,斐波那契數列的定義如下:
* n=0,f(n)=0 ;
* n=1,f(n)=1
* n>1;f(n)=f(n-1)+f(n-2).
*/
public class main {
public static void main(String[] args) {
int[] testTable = {0,1,5,10};
for (int i=0;i<testTable.length;i++) {
test(testTable[i]);
}
}
private static void test(int ito) {
Solution solution = new Solution();
int rtn;
long begin = System.currentTimeMillis();
System.out.print(ito+" ");
System.out.println();
rtn = solution.fib(ito);//執行程式
long end = System.currentTimeMillis();
System.out.print(rtn+" ");
System.out.println();
System.out.println("耗時:" + (end - begin) + "ms");
System.out.println("-------------------");
}
}
解法1(成功)
可參考 https://blog.csdn.net/xushiyu1996818/article/details/82906181
package sword009;
public class Solution {
public int fib(int n) {
if(n <= 0) {
return 0;
}
if(n == 1) {
return 1;
}
if(n == 2) {
return 1;
}
int n1 = 1; // n-1對應的值
int n2 = 1;// n-2對應的值
int now = 0;
for(int i=3;i<=n;i++) {
now = n1+n2;
n2 = n1;
n1 = now;
}
return now;
}
}
相關文章
- 斐波那契數列(Java)Java
- 斐波那契數列
- 斐波那契數列 (C#)C#
- PHP 與斐波那契數列PHP
- 斐波那契數列詳解
- 斐波那契數
- js實現斐波那契數列JS
- 斐波那契數列js 實現JS
- 斐波那契數列演算法演算法
- 斐波那契數列Ⅳ【矩陣乘法】矩陣
- 劍指offer面試題9 斐波那契數列及青蛙跳臺階問題面試題
- 演算法(1)斐波那契數列演算法
- 面試題9-斐波那契數列面試題
- [C103] 斐波那契數列
- 使用Python實現斐波那契數列Python
- JavaScript 實現:輸出斐波那契數列JavaScript
- js迭代器實現斐波那契數列JS
- 演算法一:斐波那契阿數列演算法
- 斐波那契數列的分治法計算
- 斐波那契數列的python實現Python
- 大數斐波那契數列的演算法演算法
- 資料結構之斐波那契數列java實現資料結構Java
- Leedcode-斐波那契數
- 斐波那契數列三種實現函式函式
- 計算斐波那契數列的演算法演算法
- 斐波那契數列演算法 JS 實現演算法JS
- hdu 3117矩陣+斐波那契數列矩陣
- 斐波那契查詢
- 斐波那契數列的通項公式及證明公式
- 每日一算 -- 斐波那契數列型別題型別
- 斐波那契數列 多語言實現 筆記筆記
- js計算斐波那契數列程式碼例項JS
- fibonacci斐波那契數列詳解 遞迴求Fn非遞迴求Fn求n最近的斐波那契數遞迴
- 斐波那契數(C/C++,Scheme)C++Scheme
- 高效率JAVA實現斐波那契Java
- 如何將斐波那契數列應用到排版設計中
- Python 實現 動態規劃 /斐波那契數列Python動態規劃
- “斐波那契數列”問題的遞推演算法演算法