700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 剑指offer Leetcode 10 I .斐波那契数列

剑指offer Leetcode 10 I .斐波那契数列

时间:2020-06-24 02:52:11

相关推荐

剑指offer Leetcode 10 I .斐波那契数列

解法1:效率低的解法

复杂度

速度十分缓慢,重复计算太多

代码

//未考虑溢出和取模class Solution {public:int fib(int n) {if(n <= 0)return 0;if(n == 1)return 1;return fib(n - 1) + fib(n - 2);}};

解法2:

复杂度:

时间复杂度O(n)

代码

class Solution {public:int fib(int n) {if(n <= 0)return 0;if(n == 1)return 1;//fib(n - 1)与fib(n - 2)long long fibNMinusOne = 1;long long fibNMinusTwo = 0;long long fibN = 0;for(int i = 2; i <= n; i++){//新的值都是在这里算出,只要这里取模就够了fibN = (fibNMinusOne + fibNMinusTwo) % 1000000007;fibNMinusTwo = fibNMinusOne ;fibNMinusOne = fibN ; }return fibN;}};

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。