斐波那契数列
解决思路:由递归思想转化成循环思想,从而降低时间复杂度,递归思想的时间复杂度是2^n,循环思想的时间复杂度是n。递归思想对于每一次计算都对前面的结果进行了重复计算,而循环思想对前面计算的结果进行重复利用。
代码:
class Solution:
def Fibonacci(self,n):
if n ==0 :
return 0
if n ==1 :
return 1
a = 1
b = 0
ret = 0
for i in range(0,n-1):
ret = a + b
b = a
a = ret
return ret
if __name__ == '__main__':
s = Solution()
print(s.Fibonacci(100))