• 欢迎访问小澍的博客,编程记录,技术贴以及折腾的日常,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏我的博客吧

剑指offer刷题记——斐波那契数列

C++ root 2年前 (2019-03-15) 376次浏览 已收录 0个评论

斐波那契数列

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

分析

这是一道练习数组的题目,因为题目只要求输出最后一个斐波那契数值,所以只需要开辟一个连续的长度为2的数组(List)用循环来回加就好了,为了增加一点性能,输入为0和1的时候直接return,两种语言写法几乎是一致的,但是性能依旧差了非常之大。。

使用到的知识点

C++

数组声明,循环

Python

列表声明,循环

题解

class Solution {
public:
    int Fibonacci(int n) {
        int f0 = 0;
        int f1 = 1;
        if(n == 0)
            return f0;
        else if(n==1)
            return f1;
        else{
            int fab[2] = {0,1};
            int temp = 0;
            for(int i = 2 ;i<=n;i++){
                temp = fab[0]+fab[1];
                fab[0] = fab[1];
                fab[1] = temp;
            }
            return fab[1];
        }
    }
};
class Solution:
    def Fibonacci(self, n):
        list = [0,1]
        if n == 0:
            return list[0]
        elif n == 1:
            return list[1]
        else :
            for i in range(1,n):
                temp = list[0]+list[1]
                list[0] = list[1]
                list[1] = temp
        return list[1]

XiaoShuBlog , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:剑指offer刷题记——斐波那契数列
喜欢 (0)
[gaosirgoo@foxmail.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址