原题链接
解题思路
斐波那契数列
斐波那契数列指的是这样一个数列:
如果设an为该数列的第n项(n
∈
\in
∈ N*),那么这句话可以写成如下形式:
an = a
n
−
1
_{n-1}
n−1 + a
n
−
2
_{n-2}
n−2
在此,运用递归的思想,来实现
n | Fibonacci(n) |
---|---|
0 | 0 |
1 | 1 |
2 | 0+1 = Fibonacci(0)+Fibonacci(1) |
3 | 1+2 = Fibonacci(1)+Fibonacci(2) |
F i b o n a c c i ( n ) = { 0 if n = 0 1 if n = 1 F i b o n a c c i ( n − 1 ) + F i b o n a c c i ( n − 2 ) if n > = 2 Fibonacci(n) = \begin{cases} 0 &\text{if } n = 0 \\ 1 &\text{if } n = 1 \\ Fibonacci(n-1) + Fibonacci(n-2) &\text{if } n >= 2 \end{cases} Fibonacci(n)=⎩⎪⎨⎪⎧01Fibonacci(n−1)+Fibonacci(n−2)if n=0if n=1if n>=2
JAVA实现
class Solution {
// public static void main(String[] args) {
// int result = Fibonacci(5);
// System.out.println(result);
// }
public int Fibonacci(int n) {
int result = 0;
if(n == 0) {
result = 0;
}else if(n == 1){
result =1;
}else {
int result1 = Fibonacci(n-2);
int result2 = Fibonacci(n-1);
result = result1 + result2;
}
return result;
}
}