Leetcode Day3 1
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
草这道题其实非常非常简单,但是我不太会用py写,自己也太久没写了,就记得肯定不能用递归不然妥妥的超时,然后边界条件错了几次,愧疚。

不过反正最终是过了,等会看看题解能不能优化一下。
所以为什么python一定要带个self,感觉怪怪的。
class Solution:
def fib(self, n: int) -> int:
return self.solve(n)
def solve(self,n:int)->int:
now=0
tmp=2
fb=[0,1]
if n==0:
return 0
elif n==1:
return 1
else:
while tmp <= n:
now=int((fb[tmp-1]+fb[tmp-2])%(1e9+7))
fb.append(now)
tmp+=1
return now


大佬的代码,草怎么能优化成这样的,哈人