Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const triangleMaxSum = (recur, triangle, row, column) => (row == undefined)
- ? recur(triangle, 0, 0)
- : (triangle.length - row == 1)
- // base case
- ? triangle[row][column]
- // recursive case
- : triangle[row][column] + Math.max(
- recur(triangle, row + 1, column),
- recur(triangle, row + 1, column + 1))
- const memoize = (fn, cache, memo) =>
- ( cache = cache || []
- , memo = memo || ((...args) => (cache[args])
- ? cache[args]
- : ( cache[args] = fn(memo, ...args)
- , cache[args]))
- , memo)
- // called as: memoize(triangleMaxSum)(triangleData)
Advertisement
Add Comment
Please, Sign In to add comment