当只与前1个或者2个状态有关系时,可以使用变量来简化。

斐波那契数列

http://www.nowcoder.com/questionTerminal/c6c7742f5ba7442aada113136ddea0c3

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

    /**
     * 大家都知道斐波那契数列,现在要求输入一个整数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;
    }

防止重复计算
图片说明

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务