1.递归求解
时间复杂度非常高
2.循环求解
虽然这样计算出来的答案是正确答案,但是当算到n=45的时候,很多在线测评系统会报错。
因为虽然n=45时斐波那契数只有 11 亿(小于int的 21 亿上限),但当n稍微大一点(比如n=100)时,斐波那契数会暴涨到 3.5e20,远远超过int甚至long long的存储上限。
因此,LeetCode 和大多数 OJ(在线评测系统)为了防止大数溢出,会要求你将结果对1e9+7取模。你的测试平台显然启用了这个校验,而这个代码没有执行取模。
取模后的代码为: