MCPcopy
hub / github.com/TheAlgorithms/JavaScript / FibonacciRecursiveDP

Function FibonacciRecursiveDP

Maths/Fibonacci.js:51–67  ·  view source on GitHub ↗
(stairs)

Source from the content-addressed store, hash-verified

49
50const dict = new Map()
51const FibonacciRecursiveDP = (stairs) => {
52 const isNeg = stairs < 0
53 if (isNeg) stairs *= -1
54
55 if (stairs <= 1) return stairs
56
57 // Memoize stair count
58 if (dict.has(stairs))
59 return (isNeg ? (-1) ** (stairs + 1) : 1) * dict.get(stairs)
60
61 const res =
62 FibonacciRecursiveDP(stairs - 1) + FibonacciRecursiveDP(stairs - 2)
63
64 dict.set(stairs, res)
65
66 return (isNeg ? (-1) ** (stairs + 1) : 1) * res
67}
68
69// Algorithms
70// Calculates Fibonacci(n) such that Fibonacci(n) = Fibonacci(n - 1) + Fibonacci(n - 2)

Callers 1

Fibonacci.test.jsFile · 0.90

Calls 3

hasMethod · 0.45
getMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected