leetcode 509 斐波那契数

简介: leetcode 509 斐波那契数

斐波那契数


1f2892b35d62486eabe8df28d3c9b7d7.png

迭代法

class Solution {
public:
    int fib(int n) {
        if(n <=1 ) return n;
        int pre0 = 0 , pre1 = 1;
        int num = n-2;
        while(num--)
        {
            int tmp = pre0 + pre1;
            pre0 = pre1;
            pre1 = tmp; 
        }
        return pre0+pre1;
    }
};

动态规划(DP)

class Solution {
public:
    int fib(int n) {
        if( n<=1 ) return n;
        vector<int> dp(n+1);
        dp[0]=0;
        dp[1]=1;
        for(int i = 2 ; i<dp.size();i++)
        {
            dp[i] = dp[i-1] + dp[i-2];
        }
        return dp[n];
    }
};

二刷

class Solution {
public:
    int fib(int n) {
        if(n <= 1) return n;
        vector<int> dp(n+1,0);
        dp[0] = 0;
        dp[1] = 1;
        for(int i=2 ; i<=n ; i++)
        {
            dp[i] = dp[i-1] + dp[i-2];
        }
        return dp[n];
    }
};
相关文章
|
1月前
|
Java
leetcode-509:斐波那契数
leetcode-509:斐波那契数
462 0
|
1月前
|
Go
golang力扣leetcode 509.斐波那契数
golang力扣leetcode 509.斐波那契数
19 0
|
6月前
leetcode 509 斐波那契数
今天重新看了下动态规划, 它和递归的区别就是,它是自下而上的。 还了解到状态压缩 如果我们发现每次状态转移只需要 DP table 中的一部分,那么可以尝试用状态压缩来缩小 DP table 的大小,只记录必要的数据 于是就刷了这道简答题,用到了状态压缩
22 0
|
7月前
|
算法
代码随想录算法训练营第三十八天 | LeetCode 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
代码随想录算法训练营第三十八天 | LeetCode 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
34 0
|
7月前
LeetCode题:70爬楼梯,126斐波那契数
LeetCode题:70爬楼梯,126斐波那契数
38 0
|
8月前
【Leetcode -509.斐波那契数 -520.检测大写字母】
【Leetcode -509.斐波那契数 -520.检测大写字母】
33 0
|
C++ Python
LeetCode 509. 斐波那契数 C/C++/Python
LeetCode 509. 斐波那契数 C/C++/Python
66 0
|
API Python
力扣刷题记录——507.完美数、509. 斐波那契数、520. 检测大写字母
力扣刷题记录——507.完美数、509. 斐波那契数、520. 检测大写字母
107 0
力扣刷题记录——507.完美数、509. 斐波那契数、520. 检测大写字母
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯(下)
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯(下)
|
存储 算法 编译器
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯(上)
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯(上)