Fibonacci

来源:互联网 发布:sql用于授权语句的是 编辑:程序博客网 时间:2024/06/11 06:02

斐波那契数列一定不能递归,肯定会超时,要用递推写

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)))


0 0