剑指 Offer 10- I. 斐波那契数列
是用动态规划的数组去存储结果时,注意数组的大小要比最大的数目还要多一个,否则会溢出。就比如这道题的最大元素数目是100,如果数组只定义100,后边就会溢出,所以代码里面的MAXSIZE要定义成101。
代码如下:
class Solution { #define MAXSIZE 101 int dp[MAXSIZE]; public: int fib(int n) { dp[0]=0; dp[1]=1; for(int i=2;i<=n;i++){ dp[i]=(dp[i-1]+dp[i-2])%1000000007; } return dp[n]; } };