递归
public int fib(int n) {
if(n==0)
return 0;
if(n == 1)
return 1;
if(n == 2)
return 1;
return fib(n - 1)%(1000000007) + fib(n - 2)%(1000000007);
}
动态规划:为什么返回a,自己可以用纸演算一下,就知道是a了
public int fib(int n) {
int a = 0;
int b = 1;
int sum = 0;
for(int i = 0; i < n; i++){
sum = (a + b)%1000000007;
a = b;
b = sum;
}
return a;
}