题解 | #斐波那契数列# 【模拟】详细注释 双超100

斐波那契数列

http://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3

解题思路

本题为简单模拟题,按题给条件进行n次模拟即可。当然也有打表和公式的O(1)解法。

代码

class Solution {
public:
    int fib(int n) {
        if(n==0) return 0;//如果n为0,返回0
        int a = 1;//f(n-1)
        int b = 1;//f(n-2)
        int ans = 1;
        for(int i = 3; i <= n; i++){
            ans = a + b; f(n) = f(n-1) + f(n-2)
            a = b;//更新f(n-2)
            b = ans;//更新f(n-1)
        }
        return ans;//返回答案
    }
};

复杂度分析

时间复杂度: O(n)。

空间复杂度: O(1)。

全部评论

相关推荐

2025-12-17 13:34
复旦大学 算法工程师
回家当保安:复旦✌🏻,佬你的简历感觉挺好的,寒假日常hc比较少。佬可以过完年之后再试试,日常实习hc比较充足
点赞 评论 收藏
分享
2025-11-10 21:00
门头沟学院 Java
程序员牛肉:没啥必要了,3月末就开暑期实习了,你现在找还不一定能找到。看你啥学历了。 双非基本代表想进好公司无望了。211的话,现在继续沉淀,零日常实习参加暑期其实也压力不太大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务