《劍指Offer》斐波納契數列

2021-08-29 05:28:20 字數 574 閱讀 7558

描述

查詢斐波納契數列中第 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...