File tree Expand file tree Collapse file tree 1 file changed +5
-7
lines changed Expand file tree Collapse file tree 1 file changed +5
-7
lines changed Original file line number Diff line number Diff line change @@ -19,13 +19,13 @@ const FibonacciIterative = (nth) => {
19
19
return sequence
20
20
}
21
21
22
- const FibonacciGenerator = function * ( sign ) {
22
+ const FibonacciGenerator = function * ( negative ) {
23
23
let a = 0
24
24
let b = 1
25
25
yield a
26
26
while ( true ) {
27
27
yield b
28
- [ a , b ] = sign ? [ b , a - b ] : [ b , a + b ]
28
+ [ a , b ] = negative ? [ b , a - b ] : [ b , a + b ]
29
29
}
30
30
}
31
31
@@ -63,15 +63,13 @@ const FibonacciRecursiveDP = (stairs) => {
63
63
if ( stairs <= 1 ) return stairs
64
64
65
65
// Memoize stair count
66
- if ( dict . has ( stairs ) ) return dict . get ( stairs )
66
+ if ( dict . has ( stairs ) ) return ( sgn ? ( - 1 ) ** ( stairs + 1 ) : 1 ) * dict . get ( stairs )
67
67
68
- const res = sgn
69
- ? FibonacciRecursiveDP ( stairs - 2 ) - FibonacciRecursiveDP ( stairs - 1 )
70
- : FibonacciRecursiveDP ( stairs - 1 ) + FibonacciRecursiveDP ( stairs - 2 )
68
+ const res = FibonacciRecursiveDP ( stairs - 1 ) + FibonacciRecursiveDP ( stairs - 2 )
71
69
72
70
dict . set ( stairs , res )
73
71
74
- return res
72
+ return ( sgn ? ( - 1 ) ** ( stairs + 1 ) : 1 ) * res
75
73
}
76
74
77
75
// Algorithms
You can’t perform that action at this time.
0 commit comments