Add alternative solution in fibonacci-solution.js

This commit is contained in:
Luis Leiva 2023-11-07 21:27:27 -05:00 committed by GitHub
parent 908c4ed26e
commit 123e00d933
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 4 deletions

View File

@ -2,11 +2,24 @@ const fibonacci = function(count) {
if (count < 0) return "OOPS"; if (count < 0) return "OOPS";
if (count === 0) return 0; if (count === 0) return 0;
const fib = [0, 1]; let firstPrev = 1;
let secondPrev = 0;
for (let i = 2; i <= count; i++) { for (let i = 2; i <= count; i++) {
fib[i] = fib[i - 1] + fib[i - 2]; let current = firstPrev + secondPrev;
secondPrev = firstPrev;
firstPrev = current;
} }
return fib[count];
return firstPrev;
}; };
// Another way to do it is by using an iterative approach with an array containing two values, 0 and 1.
// const fib = [0, 1];
// for (let i = 2; i <= count; i++) {
// fib[i] = fib[i - 1] + fib[i - 2];
// }
// return fib[count];
module.exports = fibonacci; module.exports = fibonacci;