递归版本:(运行时间1387ms)
import java.util.ArrayList;
import java.util.List;
public class Solution {
public int Fibonacci(int n) {
// TODO Auto-generated method stub
if(n==0) {
return 0;
}else if(n==1) {
return 1;
}else
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
动态规划版本: (运行时间18ms)
import java.util.ArrayList;
import java.util.List;
public class Solution {
public int Fibonacci(int n) {
List<Integer> list=new ArrayList<>();
if(n==0){
return 0;
}
if(n==1){
return 1;
}
list.add(0);
list.add(1);
int i=2;
while(i<=n) {
int l=list.size()-1;
int a=list.get(l);
int b=list.get(l-1);
list.add(a+b);
i=i+1;
}int l=list.size()-1;
return list.get(l);
}
}