隨筆-求斐波那契第n項(遞迴/非遞迴)
阿新 • • 發佈:2018-12-18
題目:
大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。
n<=39
思路:第N項為n-1 + n-2 和;
遞迴:
public class Solution { public int Fibonacci(int n) { if(n==0){ return 0; }else if(n==1){ return 1; } return Fibonacci(n-1)+Fibonacci(n-2); } }
非遞迴:
public class Solution { public int Fibonacci(int n) { if(n==0){ return 0; }else if(n==1){ return 1; } int n1=0; int n2=1; for(int i=2;i<=n;i++){ int tmp=n1+n2; n1=n2; n2=tmp; } return n2; } }