Skip to content
This repository was archived by the owner on Dec 12, 2023. It is now read-only.

Commit 1267b63

Browse files
committed
Clean up fibonacci solution and merge iterative solution.
1 parent 2a12376 commit 1267b63

File tree

2 files changed

+17
-26
lines changed

2 files changed

+17
-26
lines changed

fibonacci/fibonnaci.js

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1-
var memoise = function (fn) {
2-
var cache = {};
3-
// Simple one parameter memoise since it's enough for the fibonacci function
4-
return function (arg) {
5-
if (arg in cache) { return cache[arg]; }
6-
7-
return cache[arg] = fn(arg);
8-
};
1+
// Implementing recursive solution
2+
var fibonacci = function (n) {
3+
if (n in fibonacci) { return fibonacci[n]; }
4+
// Store the fibonacci values on the function itself
5+
return fibonacci[n] = (n < 2) ? n : fibonacci(n - 1) + fibonacci(n - 2);
96
};
107

11-
var fibonacci = memoise(function (n) {
12-
return (n < 2) ? n : fibonacci(n - 1) + fibonacci(n - 2);
13-
});
8+
// Implementing iterative solution
9+
var fibonnaci = function (n) {
10+
var results = [0, 1];
11+
12+
if (n > 2) {
13+
for (var i = 2; i < n; i++) {
14+
results[i] = results[i - 2] + results[i - 1];
15+
}
16+
}
17+
18+
return results[n - 1];
19+
};

fibonnaci/fibonacci2.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)