題目:定義Fibonacci數列如下:
/ 0 n=0
f(n)= 1 n=1
/ f(n-1)+f(n-2) n=2
輸入n,用最快的方法求該數列的第n項。
解法一:常規解法。用遞歸做。不採取任何優化。 解法二:還是遞歸,採用記憶化搜索優化。空間複雜度爲O(n),時間複雜度也爲O(n)。
解法三:從下往上計算,從f(1)和f(0)推算出f(2),以此類推。