请注意控制循环次数,循环次数应该去除掉初始变量的次数。

    /**
     * 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项
     * (从0开始,第0项为0,第1项是1)。
     * n<=39
     * @param n 整数n
     * @return 斐波那契数列的第n项
     */
    public int Fibonacci(int n) {
        if (n < 2) {
            return n;
        }
        int f1 = 0, f2 = 1;
        int fn = f1+f2;
        for (int i = 2; i <= n; i++) {
            fn = (f1 + f2)%1000000007;
            f1 = f2;
            f2 = fn;
        }

        return fn;
    }

防止重复计算
图片说明