diff --git a/10_fibonacci/solution/fibonacci-solution.js b/10_fibonacci/solution/fibonacci-solution.js index 010131c..e040ede 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 first_prev = 1; + let second_prev = 0; + + for (let i = 2; i <= count; i++) { + let curr = first_prev + second_prev; + second_prev = first_prev; + first_prev = curr; + } + + return first_prev; }; module.exports = fibonacci;