劍指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;
}
}
相關文章
- 劍指offer——斐波那契數列
- 斐波那契數列(Java)Java
- 劍指 Offer 10- I. 斐波那契數列
- 斐波那契數列
- 斐波那契數列 (C#)C#
- PHP 與斐波那契數列PHP
- 斐波那契數列詳解
- 著名的斐波那契數列
- 斐波那契數
- js實現斐波那契數列JS
- 斐波那契數列演算法演算法
- 第十題:斐波那契數列
- [C103] 斐波那契數列
- 力扣之斐波那契數列力扣
- 斐波那契數列js 實現JS
- 斐波那契數列Ⅳ【矩陣乘法】矩陣
- 使用Python實現斐波那契數列Python
- 演算法(1)斐波那契數列演算法
- 斐波那契數列的來源——數兔子
- 斐波那契數列數與等冪和
- Leedcode-斐波那契數
- 509. 斐波那契數
- LeetCode 509[斐波那契數]LeetCode
- 一千位斐波那契數
- 資料結構之斐波那契數列java實現資料結構Java
- js迭代器實現斐波那契數列JS
- offer通過--9斐波那契數列-2
- 演算法一:斐波那契阿數列演算法
- JavaScript 實現:輸出斐波那契數列JavaScript
- 大數斐波那契數列的演算法演算法
- 斐波那契數列:7數5層魔法塔(3)
- 斐波那契數列:7數5層魔法塔(2)
- 斐波那契數列:7數5層魔法塔(5)
- 斐波那契數列:7數5層魔法塔(8)
- 斐波那契數列:7數5層魔法塔(13)
- 斐波那契數列:7數5層魔法塔(12)
- 斐波那契數列:7數5層魔法塔(10)
- 斐波那契數列:7數5層魔法塔(11)