From 76551b0e8a8ce094df4413056151654e49596b8f Mon Sep 17 00:00:00 2001 From: cats256 <59489624+cats256@users.noreply.github.com> Date: Tue, 4 Jul 2023 12:07:04 -0500 Subject: [PATCH] Update fibonacci-solution.js Better O(n) time --- 10_fibonacci/solution/fibonacci-solution.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) 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;