Skip to content

Commit 88b95fd

Browse files
authored
fix: remove bloat in triple step (careercup#86)
1 parent 05e701b commit 88b95fd

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

chapter08/8.01 - Triple Step/tripleStepv2.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Recursion and Dynamic Programming (4 steps)
88

99
// Recursive Backtracking
1010
// Time & Space O(n!)
11-
function tripleStep(n, res = 0) {
11+
function tripleStep(n) {
1212
if (n < 0) return 0;
1313
if (n === 0) return 1;
1414
return tripleStep(n + 1) + tripleStep(n - 2) + tripleStep(n - 3);
@@ -17,10 +17,8 @@ function tripleStep(n, res = 0) {
1717
// Top Down Memoization
1818
// Time & Space O(n)
1919
function tripleStep(n, i = 3, memo = [1, 1, 2, 4]) {
20-
if (n < 0) return memo[0];
21-
if (n === 1) return memo[n];
22-
if (i > n) return memo[memo.length - 1];
23-
20+
if (n < 0) return 0
21+
if (n < i) return memo[n];
2422
memo[i] = memo[i - 1] + memo[i - 2] + memo[i - 3];
2523
return tripleStep(n, i + 1, memo);
2624
}

0 commit comments

Comments
 (0)