diff --git a/10_fibonacci/solution/fibonacci-solution.js b/10_fibonacci/solution/fibonacci-solution.js index 010131c..acdd1e0 100644 --- a/10_fibonacci/solution/fibonacci-solution.js +++ b/10_fibonacci/solution/fibonacci-solution.js @@ -1,10 +1,17 @@ const fibonacci = function(count) { - if (count < 0) return "OOPS" - const fibPart = [0, 1]; - for (let index = 1; index < count; index++) { - fibPart.push(fibPart[index] + fibPart[index -1]); - } - return fibPart[count]; + if (count < 0) return "OOPS"; + if (count === 0) return 0; + + let firstPrev = 1; + let secondPrev = 0; + + for (let i = 2; i <= count; i++) { + let current = firstPrev + secondPrev; + secondPrev = firstPrev; + firstPrev = current; + } + + return firstPrev; }; module.exports = fibonacci;