斐波那契数列
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39
方法一:递归(耗时最长)
public class Solution { public int Fibonacci(int n) { if(n==0){ return 0; } 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; } if(n==1){ return 1; } int[] arr=new int[n+1]; arr[0]=0; arr[1]=1; for(int i=2;i<=n;i++){ arr[i]=arr[i-1]+arr[i-2]; } return arr[n]; } }
方法三:借助第三方变量(用时最短)
public class Solution { public int Fibonacci(int n) { if(n==0){ return 0; } if(n==1){ return 1; } int a=0; int b=1; int c=0; for(int i=2;i<=n;i++){ c=a+b; a=b; b=c; } return c; } }#21天打卡剑指offer##Java#