题目描述:
题解:动态规划
最开始用递归的方法超时。
1.fibres保存斐波那契数列的值,fibres[0]=0 fibres[1]=1
2.对i从2到n分别根据公式计算fibres[i]
3.对fibres[n]结果根据要求取模。
class Solution(object):
def fib(self, n):
fibres = []
fibres.append(0)
fibres.append(1)
for i in range(2,n+1):
fibres.append(fibres[i-1]+fibres[i-2])
if fibres[n]>1000000007:
fibres[n] = fibres[n]%1000000007
return fibres[n]
尝试java版:
class Solution {
public int fib(int n) {
if(n==0){
return 0;
}
int [] fibres = new int[n+1];
fibres[0] = 0;
fibres[1] = 1;
for(int i=2;i
好像java取模必须放在for循环每次的计算中,否则结果会出错。



