# -*- coding:utf-8 -*-class Solution:def Fibonacci(self, n):# write code hereif n==0:return 0if n==1:return 1else:a=[0]*(n+1)a[0]=0a[1]=1for i in range(2,n+1):a[i]=a[i-1]+a[i-2]num=a[n]return num
解题思路:对于n>1的情况,定义一个列表[0,0,0,0...],然后依次给列表赋值,最后取a[n]为最终目标值。算法复杂度为O(n)
注意:
- 要注意n的特殊取值,n取值为0和取值为1要单独考虑
- 牛客网上面解题的代码形式,写一个Solution类,然后在类里面定义函数
- 不需要自己赋值,系统会带入一系列数值进行验证
- 利用return 返回函数值
