| 25 ms | 5724K |
居然不能用函数自己递归
关于边界之类的问题还是要考虑细致
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
fibo = [0,1]
if n<2:
return fibo[n]
for i in range(2,n+1):
fibo.append(fibo[i-1]+fibo[i-2])
#return self.Fibonacci(n-1)+self.Fibonacci(n-2)
return fibo[-1]
————————————————————————————————————————————
一个更规范的动态规划算法
n--是后减,即先用n的值当做是n--的值,再把n的值减一
--n是先减,即先把n的值减一当做是--n的值
以及Python没有++ 和--这种表达方式
运行时间:42ms
占用内存:5740k
反而两个消耗都增加了
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
#0,1,1,2,3,5
a = 0
b = 1
while(n):
b = a + b
a = b - a
n -= 1
return a
本文探讨了斐波那契数列的两种不同实现方法:一种是通过维护一个列表来记录中间结果;另一种则是使用两个变量进行迭代计算。后者在时间和空间复杂度上表现更优。
4966

被折叠的 条评论
为什么被折叠?



