Memoization

Memoization is an optimization technique where previously computed results are cached and returned the same computation is needed again.