大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0,第1項是1)。
n<=39
已知f(0)=0, f(1)=1,f(2)= f(0)+f(1),f(3)=f(2)+f(1)…則可以從下往上計算,以此類推出第n項,時間複雜度是o(n)。若用遞迴方法,則時間複雜度以n的指數遞增,效率較低。
class
solution
:def
fibonacci
(self, n)
:# write code here
if n in(0
,1):
return n
m1 =
1 m2 =
0 f_sum =
0for i in
range(2
, n+1)
: f_sum = m1 + m2
m2 = m1
m1 = f_sum
return f_sum
7 斐波那契數列
思路 fibn fibone fibtwo fibone fibtwo fibtwo fibn public class solution return fibn 相似題目 1 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 pub...
7 斐波那契數列
1 題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 2 思路 斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又...
7 斐波那契數列
大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 有兩種演算法 遞迴 遞迴中有很多重複的地方,從而對效能帶來很大的負擔 遞迴可能引起更大的問題 呼叫棧溢位 動態規劃 自下而上計算,時間複雜度大o n int fibonacci int n ...