|Implementar memoizeDifícil
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 15:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Implementar memoize

Difícil225 pts·Funciones

Enunciado

Implementar memoize

La memoización es una técnica de optimización que almacena los resultados de llamadas a funciones costosas y los reutiliza cuando se vuelven a llamar con los mismos argumentos, evitando recalcular.

Tu tarea

Implementa la función memoize que recibe una función fn y devuelve una versión cacheada de ella. Luego, usa memoize para crear memoizeSum, una versión cacheada de (a, b) => a + b.

Cómo funciona memoize

const memoizeSum = memoize((a, b) => a + b);

memoizeSum(1, 2)  // Calcula y guarda en caché: 3
memoizeSum(1, 2)  // Devuelve desde caché: 3 (sin recalcular)
memoizeSum(3, 4)  // Calcula y guarda en caché: 7

Implementación sugerida

  • Usa un Map para almacenar los resultados previos.
  • La clave del caché debe basarse en los argumentos. Puedes usar JSON.stringify(args).
  • Si los argumentos ya están en el caché, devuelve el valor almacenado.
  • Si no, ejecuta fn, guarda el resultado y devuélvelo.

Notas

  • La función memoizeSum exportada es la que se evaluará con los test cases.
  • Los test cases verifican que memoizeSum retorna los resultados correctos de la suma.
Restriccionesexpand_more
  • Dificultad: Difícil
  • Completa todos los test cases para obtener los 225 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
8 soluciones · 80% aceptación