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_uncheckedUsa Date.now() para el TTL
- radio_button_uncheckedUsa 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:
- Define un caché de tipo
Mapdonde cada entrada tenga{ value: number, expiresAt: number }. - Usa
Date.now()para obtener el timestamp actual y calcular la expiración. - Al consultar el caché, verifica que
Date.now() < expiresAtantes de usar el valor guardado. - Si no hay entrada válida, calcula
n * n, guarda en caché conexpiresAt = Date.now() + ttly retorna el resultado.
Restriccionesexpand_more
- Dificultad: Difícil
- Completa todos los test cases para obtener los 30 puntos.
- No modificar la línea
exportal 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