题目描述:
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)n<=39
1.递归
需要计算第n个数的值时,他的值为第n-1项与n-2项之和,直到递归为若干个第0项与第一项相加。而递归IDE出口就是当n小于等于1时,就返回n。
public class Solution {
public int Fibonacci(int n) {
if(n<=1){
return n;
}
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
2.数组
定义一个大小为n的数组,将第0个和第1个的值先放进去,然后从i = 2开始循环,每个下标的值都等于第n-1与第n-2的和,这样数组中下标为n的数中存放的就是斐波那契数列中要求的第n个数。
public class Solution {
public int Fibonacci(int n) {
int[] a = new int[40];
a[0] = 0;
a[1] = 1;
for(int i = 2;i <= n;i++){
a[i] = a[i-1] + a[i-2];
}
return a[n];
}
}