剑指offer(七)斐波那契数列

写在前面:

为了增长一下自己的数据结构能力,也为了面试准备,准备将剑指Offer做一下,并与各位分享,希望各位可以对代码以及思路提提建议,欢迎志同道合者,谢谢。

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

思路:
首先要知道什么是斐波那契数列
斐波那契数列(Fibonacci sequence),又称[黄金分割]数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)

具体的大家可以去百度一下,但是这个公式要记住

好了进入代码环节

package com.itzmn.offer;

/**
 * @Auther: 张梦楠
 * @Date: 2018/7/28 11:28
 * :https://www.jianshu.com/u/d611be10d1a6
 * 码云:https://gitee.com/zhangqiye
 * @Description:
 *
 * 0、1、1、2、3、5、8、13、21
 *
 */
public class Offer7 {


    public static void main(String[] args) {

        int i = new Offer7().Fibonacci(8);
        System.out.println(i);
    }

    public int Fibonacci(int n) {
        if (n<=2 && n>0){
            return 1;
        }
        if (n <= 0){
            return 0;
        }
        return Fibonacci(n-1)+Fibonacci(n-2);
    }


}

希望大家可以多多指点,优化一下,
QQ群:552113611

你可能感兴趣的:(剑指offer(七)斐波那契数列)