题目分析:[[EVD]] - 剑指 Offer 10- I. 斐波那契数列
https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/
简单描述:
- 求斐波那契(Fibonacci)数列的第 n 项
- F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
- F(0) = 0, F(1) = 1
限制🚫
- 0 <= n <= 100
- 取模 1e9+7(1000000007)
示例:
输入:n = 2
输出:1
解题思路:
思路:
- #动态规划DP 2*(1e9+7)仍在int范围内,不考虑大数越界的情况
效率:
- 时间复杂度
- 空间复杂度
代码:
class Solution
{
private:
const int MOD = 1e9 + 7;
public:
int fib(int n)
{
int a = 0, b = 1;
while (n--)
{
a = (a + b) % MOD;
swap(a, b);
}
return a;
}
};