JSFiddle - React, Tailwind, and code Playground
by kman007_us
CoffeeScript
# [0, 1, 1, 2, 3, 5, 8, 13, ...]
fibonacci = (n) ->
if (n < 2)
n
else
fibonacci(n-2) + fibonacci(n-1)
console.log fibonacci(4)
memoized = (fn) ->
do (lookupTable = {}, key = undefined, value = undefined) ->
->
key = JSON.stringify(arguments)
console.log "memoized looking up key..."
lookupTable[key] or= fn.apply(this, arguments)
fastFibonacci =
memoized (n) ->
if n < 2
n
else
fastFibonacci(n-2) + fastFibonacci(n-1)
console.log fastFibonacci(45)
quickFibonacci = memoized(fibonacci) # only prints out `memoized looking up key...` 1x
console.log quickFibonacci(10)