Solución

@estouchedisindo·15/5/2026TypeScript
solution.tsTypeScript
export function testMemoize(n: number): number {


  function memoize(fn: (x: number) => number): (x: number) => number {
    // Usa un Map o un objeto como cache en el closure
    const fnResult = fn(n);
    const cache = new Map<(x: number) => number, number>();

    if( !cache.has(fn)) {
      cache.set(fn, fnResult);
    }
    
    return () => cache.get(fn);
  }

  const tripleM = memoize((x) => x * 3);
  tripleM(n); // primera llamada — ejecuta fn
  return tripleM(n); // segunda — retorna desde cache
}
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.