1. # -*- coding:utf-8 -*-
    2. class Solution:
    3. def Fibonacci(self, n):
    4. # write code here
    5. if n==0:
    6. return 0
    7. if n==1:
    8. return 1
    9. else:
    10. a=[0]*(n+1)
    11. a[0]=0
    12. a[1]=1
    13. for i in range(2,n+1):
    14. a[i]=a[i-1]+a[i-2]
    15. num=a[n]
    16. return num
    1. 解题思路:
    2. 对于n>1的情况,定义一个列表[0,0,0,0...],然后依次给列表赋值,最后取a[n]为最终目标值。算法复杂度为O(n)

    注意:

    1. 要注意n的特殊取值,n取值为0和取值为1要单独考虑
    2. 牛客网上面解题的代码形式,写一个Solution类,然后在类里面定义函数
    3. 不需要自己赋值,系统会带入一系列数值进行验证
    4. 利用return 返回函数值