剑指 Offer 10- I. 斐波那契数列

剑指 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];
    }
};

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注