斐波那契数列指的是这样一个数列:
这个数列从第3项开始,每一项都等于前两项之和。
以递推的方法定义:
F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
java代码递归实现:
public class Answer{
public int Fibonacci(int n) {
if(n == 0) {
return 0;
}
if(n == 1) {
return 1;
}
return Fibonacci(n-1) + Fibonacci(n-2);
}
}
//更好的解法(提高时间效率)
public int fibonacci(int n){
if (n < 2){
return n;
}
int fibN = 0;
int fibOne = 0;
int fibTwo = 1;
for (int i = 2; i <= n ; i++){
fibN = fibOne + fibTwo;
fibOne = fibTwo;
fibTwo = fibN;
}
return fibN;
}