斐波那契数java实现_斐波那契数列Java实现[剑指offer]
描述
大家都知道斐波那契數(shù)列,現(xiàn)在要求輸入一個整數(shù)n,請你輸出斐波那契數(shù)列的第n項(從0開始,第0項為0)。
n<=39
題解
1.遞歸實現(xiàn)
采用遞歸的方式進行實現(xiàn)時,從第n個節(jié)點向下遞歸時,存在重復(fù)節(jié)點,當(dāng)n越大時,遞歸越慢,往往會超出題目要求的時間限制
2.非遞歸實現(xiàn)
描述
為避免重復(fù)計算,采用自上而下的方式進行計算
code
public class Solution {
public int Fibonacci(int n) {
int first=0;
int second=1;
int res=0;
int[] result={0,1};
if(n<2){
return result[n];
}
for(int i=1;i
res=first+second;
first=second;
second=res;
}
return res;
}
}
斐波那契數(shù)列的變形
一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先后次序不同算不同的結(jié)果)
一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。
我們可以用21的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?
總結(jié)
以上是生活随笔為你收集整理的斐波那契数java实现_斐波那契数列Java实现[剑指offer]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php改密后joomla无法登陆,php
- 下一篇: ios10前台收到推送_iOS 13 b