0
点赞
收藏
分享

微信扫一扫

【LeetCode 剑指 Offer 10- I. 斐波那契数列(简单)】

自由的美人鱼 2022-04-15 阅读 64
leetcodejava

题目:

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:

F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。

答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

示例 1:

输入:n = 2
输出:1
示例 2:

输入:n = 5
输出:5

提示:

0 <= n <= 100

解题过程:

用递归的话会显示超时,所以用循环代替递归。

class Solution {
    public int fib(int n) {
        if(n == 0 || n == 1) return n;
        int front = 0, back = 1, fibn =0;
        for(int i = 2;i<=n;i++){
            fibn = front + back;
            if(fibn >= 1000000007)
                fibn -= 1000000007;
            front = back;
            back = fibn;
        }
        return fibn;
    }
}

执行结果:

在这里插入图片描述

举报

相关推荐

0 条评论