日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面试题:Fibonacci数列

發布時間:2023/12/18 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试题:Fibonacci数列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。

方法1:遞歸

public class Solution {public int Fibonacci(int n) {if (n == 0){return 0;} else if(n == 1){return 1;} else{return Fibonacci(n - 1) + Fibonacci(n - 2);}} }

方法2:循環

public class Solution {public int Fibonacci(int n) {if(n == 0){return 0;}else if(n == 1){return 1;}else{int a = 0;int b = 1;int f = 0;for(int i=1;i<n;i++){f = a + b;a = b;b = f;}return f;}} }

遞歸是函數調用函數自身,循環是通過初始值和終止條件在一個范圍內重復計算

基于遞歸實現的函數代碼簡單,但性能不如基于循環的方法,如果沒有別的要求優先使用遞歸

遞歸的缺點是函數的調用有時間和空間的消耗,并且遞歸中有許多重復的計算

類似題目:一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先后次序不同算不同的結果)。

public class Solution {public int JumpFloor(int target) {if(target == 0){return 0;}else if(target == 1){return 1;}else if(target == 2){return 2;}else{//遞歸//return JumpFloor(target-1)+JumpFloor(target-2);//循環int a = 1;int b = 2;int J = 0;for(int i=2;i<target;i++){J = a + b;a = b;b = J;}return J;}} }

類似題目:一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法(數學歸納法2的n-1次方)。

public class Solution {public int JumpFloorII(int target) {return (int)Math.pow(2,(target-1));} }

?

轉載于:https://www.cnblogs.com/Aaron12/p/9503761.html

總結

以上是生活随笔為你收集整理的面试题:Fibonacci数列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。