Every day a leetcode
题目来源:509. 斐波那契数
解法1:递归
代码:
/*
* @lc app=leetcode.cn id=509 lang=cpp
*
* [509] 斐波那契数
*/
// @lc code=start
class Solution
{
public:
int fib(int n)
{
if (n == 0)
return 0;
if (n == 1)
return 1;
return fib(n - 1) + fib(n - 2);
}
};
// @lc code=end
结果:

复杂度分析:
时间复杂度:O(2n)。总的调用次数结果是2n-1-1。
空间复杂度:O(n)。fib(n-1)一路沿fib(2)返回后消毁栈帧,调用fib(n-2)并建立栈帧后,实际上 fib(n-2)与fib(n-1)用的是同一块栈帧空间。
解法2:
其他解法见于官方题解Leetcode509. 斐波那契数。
LeetCode509:斐波那契数的递归解法分析
该文章讨论了LeetCode第509题——斐波那契数的解决方案,重点是使用递归的方法。文章指出,递归解法的时间复杂度为O(2^n),空间复杂度为O(n),并提到了这种方法的效率问题。此外,还提及有其他解法可参考官方题解以获取更多解题思路。
359

被折叠的 条评论
为什么被折叠?



