剑指offer题解之六——斐波那契数列

1.题目概述

  • 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39

2.解题思路

  • 斐波那切数列性质
    f(1)=0,f(2)=1,f(n)=f(n-1)+f(n-2)
    很典型的递归思路。嗯,这样想你就上当了,关于斐波那契数列,递归时间复杂度为n!,这样太高,需要使用迭代进行改进。
public class Solution {
    public int Fibonacci(int n) {
        int item=0;
        
        if (n<=1) return n;
        else {
            item=Fibonacci(n-1)+Fibonacci(n-2);
        return item;
        }
    }
}

迭代:

public class Solution {
    public int Fibonacci(int n) {
        int item=0;
        int f1=0;
        int f2=1;
        if (n<=1) return n;
        else {
            for(int i=2;i<=n;i++){
                item=f1+f2;
                f1=f2;
                f2=item;
            }
        }
        return item;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 由于简书不支持 Latex ,建议去我的博客看原文:斐波纳契数列实现及优化求关注、求交流、求意见、求建议。 前言 ...
    華方阅读 1,910评论 1 3
  • 斐波那契数列是在学编程期间最先接触的到的知识,也是思维拓展比较多的一个知识点,很重要。 我的理解 斐波那契数列,常...
    playman阅读 501评论 0 1
  • 斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39 ...
    echoVic阅读 460评论 0 2
  • 斐波那契数列之兔子繁殖问题 据说很多枯燥的算法问题都是和生活密切相关的,毕竟很多算法都是人们有实际的需求才慢慢进入...
    再见远洋阅读 1,673评论 0 4
  • 妞妞总是觉得自己是公主,天然的觉得自己拥有万千宠爱。家里除了我会对她进行管束之外,其他的人,妞爸,妞奶,对她百般宠...
    冠世墨玉yanzi阅读 312评论 3 3