|Memoización con TTL (expiración de caché)Difícil
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 15:00

info

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

Memoización con TTL (expiración de caché)

Difícil30 pts
ruleRestricciones
  • radio_button_unchecked
    Usa Date.now() para el TTL
  • radio_button_unchecked
    Usa un Map como caché

Enunciado

Implementa la función cachedSquare que calcula el cuadrado de un número usando memoización con TTL (time-to-live): los resultados del caché expiran después de un tiempo definido.

La función debe tener un caché interno donde cada entrada almacene el valor calculado y el timestamp de expiración. Al llamar a la función, debe verificar si la entrada existe en el caché y si todavía no ha expirado.

cachedSquare(5)   // 25  (calcula y guarda en caché)
cachedSquare(5)   // 25  (devuelve desde caché)
cachedSquare(12)  // 144
cachedSquare(7)   // 49

Instrucciones:

  1. Define un caché de tipo Map donde cada entrada tenga { value: number, expiresAt: number }.
  2. Usa Date.now() para obtener el timestamp actual y calcular la expiración.
  3. Al consultar el caché, verifica que Date.now() < expiresAt antes de usar el valor guardado.
  4. Si no hay entrada válida, calcula n * n, guarda en caché con expiresAt = Date.now() + ttl y retorna el resultado.
Restriccionesexpand_more
  • Dificultad: Difícil
  • Completa todos los test cases para obtener los 30 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
Memoización con TTL (expiración de caché) — Difícil | Coding Challenges · Coding Challenges