1. 程式人生 > >劍指offer之斐波那契數列(Java實現)

劍指offer之斐波那契數列(Java實現)

斐波那契數列

NowCoder

題目描述:

大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。
n<=39

###解題思路:

整體思路:考慮負數,大數,演算法的複雜度,空間的浪費

public class Solution {
    public int Fibonacci(int n) {
        //使用迭代法,用fn1和fn2儲存計算過程中的結果,並複用起來
        int fn1 = 1;
        int fn2 = 1;
        //考慮出錯的情況
        if (
n <= 0) return 0; //第一個和第二個直接返回 if (n == 1|| n == 2) return 1; //當n>= 3時,說明用迭代法算出結果 while (n -- > 2){ fn1 += fn2; fn2 = fn1 - fn2; } return fn1; } }