描述
查詢斐波納契數列中第 n 個數。
所謂的斐波納契數列是指:
斐波納契數列的前10個數字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
樣例
給定 1,返回 0
給定 2,返回 1
給定 10,返回 34
解答解析:
這道題可以使用遞迴來解答,但是遞迴所消耗的時間複雜度與空間複雜度都比較大,因此我們需要採取一次迴圈在o(n)複雜度下解決問題:
先定義兩個變數a=0,b=1
,以及中間變數result
存放a+b
當n>2時,開始遍歷,每次迴圈讓a=b,b=result
,最終返回b
即可。
**:
public
intfibonacci
(int n)
return n>
1? b : a;
}
劍7 10 斐波納契數列
題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。n 39 思想 f n f n 1 f n 2 從下往上計算,首先根據f 0 和f 1 計算出f 2 再依次計算出f 3 f n 這種方法的時間複雜度是o n class solution if n 2 retu...
劍指offer 斐波那契數列
題目1描述 寫乙個函式,輸入n,求斐波那契數列的第n項。斐波那契數列的定義如下 f n 0 n 0 f n 1 n 1 f n f n 1 f n 2 n 1 分析描述 在大多數的c語言教科書中,一般會用遞迴求斐波那契數列。如下 long long fibonacci unsigned int n ...
劍指offer 斐波那契數列
記錄來自 劍指offer 的演算法題。題目如下 寫乙個函式,輸入n,實現斐波那契數列的第n項。斐波那契數列的定義如下 f n 01 f n 1 f n 2 n 0 n 1n 1 教科書上通常在介紹遞迴的時候都會使用斐波那契數列作為例子,然後給出下列解法 long long fibonacci uns...