其他分享
首页 > 其他分享> > Sword10- I——斐波那契数列

Sword10- I——斐波那契数列

作者:互联网

Sword10- I——斐波那契数列

方法1——动态规划

    public int fib(int n) {
        // n为0时,返回0
        if (n == 0) {
            return 0;
        }
        // n为1时,返回1
        if (n == 1) {
            return 1;
        }
        // 定义dp数组
        int[] dp = new int[n + 1];
        // 定义第0项与第1项
        dp[0] = 0;
        dp[1] = 1;
        // for循环
        for (int i = 2; i <= n; i++) {
            dp[i] = (dp[i - 2] + dp[i - 1]) % 1000000007;
        }
        // 返回结果dp[n]
        return dp[n];
    }
    public int fib(int n) {
        // 定义dp数组
        int[] dp = new int[n + 1];
        // 定义第0项与第1项
        dp[0] = 0;
        dp[1] = 1;
        // for循环
        for (int i = 2; i <= n; i++) {
            dp[i] = (dp[i - 2] + dp[i - 1]) % 1000000007;
        }
        // 返回结果dp[n]
        return dp[n];
    }
    public int fib(int n) {
        // 定义第0项和第1项
        int cur = 0, next = 1, tmp = 0;
        // for循环
        for (int i = 0; i < n; i++) {
            // 求出下一项的值
            tmp = (cur + next) % 1000000007;
            // cur赋给pre
            cur = next;
            // tmp赋给cur
            next = tmp;
        }
        // 返回cur
        return cur;
    }

在这里插入图片描述

标签:返回,cur,int,1000000007,Sword10,斐波,那契,next,dp
来源: https://blog.csdn.net/A13777852949/article/details/119356534