寫在前面:
為了增長一下自己的數據結構能力噪窘,也為了面試準備,準備將劍指Offer做一下效扫,并與各位分享倔监,希望各位可以對代碼以及思路提提建議,歡迎志同道合者荡短,謝謝丐枉。
題目
大家都知道斐波那契數列,現(xiàn)在要求輸入一個整數n掘托,請你輸出斐波那契數列的第n項(從0開始瘦锹,第0項為0)。n<=39
思路:
首先要知道什么是斐波那契數列
斐波那契數列(Fibonacci sequence),又稱[黃金分割]數列弯院、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入辱士,故又稱為“兔子數列”,指的是這樣一個數列:1听绳、1颂碘、2、3椅挣、5头岔、8、13鼠证、21峡竣、34、……在數學上量九,斐波納契數列以如下被以遞歸的方法定義:F(1)=1适掰,F(xiàn)(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)
具體的大家可以去百度一下荠列,但是這個公式要記住
好了進入代碼環(huán)節(jié)
package com.itzmn.offer;
/**
* @Auther: 張夢楠
* @Date: 2018/7/28 11:28
* 簡書:http://www.reibang.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);
}
}
希望大家可以多多指點呼寸,優(yōu)化一下艳汽,
QQ群:552113611