1. 程式人生 > >劍指offer 9. 斐波那契數列

劍指offer 9. 斐波那契數列

輸入一個整數 n ,求斐波那契數列的第 n 項。
假定從0開始,第0項為0。(n<=39)
樣例

輸入整數 n=5 
返回 5

滾動陣列
時間複雜度 O ( n ) O(n) ,空間複雜度 O

( 1 ) O(1)

class Solution {
public:
    int Fibonacci(int n) {
        // 0 1 1 2 3 5
        int num[2];
        num[0] = 0;
        num[1] = 1;
        for(int i = 2; i <=
n; ++ i) num[i % 2] = num[0] + num[1]; return num[n % 2]; } };

矩陣快速冪
時間複雜度 O ( l o g n )

O(logn)
待補