斐波那契数列一定不能递归,肯定会超时,要用递推写
class Solution:
# @param n: an integer
# @return an integer f(n)
def fibonacci(self, n):
# write your code here
a = [0, 1]
if n < 3:
return a[n-1]
for i in xrange(n-2):
a.append(a[-1]+a[-2])
return a[-1]
顺便附上会超时的递归写法:
class SolutionTE:
# @param n: an integer
# @return an integer f(n)
def fibonacci(self, n):
# write your code here
if n < 3:
return n-1
return reduce(lambda x,y:x+y,(self.fibonacci(n-1),self.fibonacci(n-2)))