public class Solution {
//递归实现
/*public int Fibonacci(int n) {
if(n==1||n==2){
return 1;
}
return Fibonacci(n-1) + Fibonacci(n-2);
}*/
//非递归实现
/*public int Fibonacci(int n) {
if(n==1||n==2){
return 1;
}
int a = 1;
int b = 1;
int temp;
for(int i = 3; i <= n; i++){
temp = a;
a = b;
b = b + temp;
}
return b;
}*/
//动态规划实现
public int Fibonacci(int n) {
if(n==1||n==2) return 1;
int[] arr = new int[n];
arr[0] = 1;
arr[1] = 1;
for(int i = 2; i < n; i++){
arr[i] = arr[i-1] + arr[i-2];
}
return arr[n-1];
}
}