牛客编程题3:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。——Python

目的:

旨在记录在牛客网上刷题的过程,记录心得。

题目:

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。

n<=39

思路:

斐波那契数列,这个数列从第3项开始,每一项都等于前两项之和。即,F(n)=F(n-1)+F(n-2)。

<1> 采用递归函数方式。

<2> 根据定义,采用三个变量来完成。

代码:

<1>递归函数方式

# -*- coding:utf-8 -*-
class Solution:
    def Fibonacci0(self, n):
        if n == 0:
            return 0
        elif n == 1 or n == 2:
            return 1
        else:
            return self.Fibonacci(n-1)+self.Fibonacci(n-2)
    

<2>采用三个变量

    
# -*- coding:utf-8 -*-
class Solution:
    def Fibonacci(self, n):
        if n < 2:
            return n
        first = 0
        second = 1
        result = 1
        for i in range(2,n):
            first = second
            second = result
            result = first + second
        return result

效果:

<1>

牛客编程题3:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。——Python_第1张图片

<2>

牛客编程题3:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。——Python_第2张图片

总结:

实现一个编程算法,审题要细致并要时时刻刻考虑它的时间复杂度和空间复杂度。

你可能感兴趣的:(Python)