算法(1)斐波那契數列

1.0 問題描述

實現斐波那契數列,求第N項的值swift

2.0 問題分析

  1. 斐波那契數列最簡單的方法是使用遞歸,遞歸和查表法同時使用,能夠下降複雜度。
  2. 根據數列特色,同時進行計算的數值其實只有3個,因此可使用3個變量循環遞進計算結果。
  3. 3個變量能夠簡化爲2個變量。

3.0 代碼實現

3.1使用swift實現

func fbnq(_ n: Int) -> UInt64{
    if n < 0 || n > 92 {
        return 0;
    }
    var p: UInt64 = 0, c: UInt64 = 1;
    for _ in 0 ..< n {
        c = c + p;
        p = c - p;
    }
    return c;
}
複製代碼

3.2使用js實現

function fb(n){
    let p = 0, c = 1;
    for(let i = 0; i < n; i++){
        c = p + c;
        p = c - p;
    }
    return c;
}
複製代碼

4.0 複雜度分析

複雜度爲 O(n)ui

相關文章
相關標籤/搜索