historia · contexto
Historia
Día 4
Los sensores biométricos de la estación emitían un pulso cada 30 segundos. No son un monitor cardiaco —son un setInterval en un script de Python— pero Lía los llamaba así en los comentarios: pulsos.
Después del día 0, los pulsos no se detuvieron del todo. Llegan en ráfagas, con minutos de silencio. Te pasan el dump para que determines, con los últimos timestamps, si la estación sigue transmitiendo con regularidad o ya es solo ruido de fondo.
La tripulación: otra historia.
objetivo · spec
Tu misión
Tu misión
Implementa hayPulsoVivo(pulsos, ahora, ventanaMs) que recibe:
pulsos: array de timestamps (números, ms desde epoch).ahora: timestamp del instante actual.ventanaMs: ventana máxima permitida de silencio.
Devuelve true si el pulso más reciente está a no más de ventanaMs milisegundos de ahora. Si el array está vacío, false.
Ejemplo
hayPulsoVivo([1000, 2000, 3000], 3500, 1000) // → true (3500 - 3000 = 500)
hayPulsoVivo([1000, 2000, 3000], 5000, 1000) // → false (5000 - 3000 = 2000)
hayPulsoVivo([], 1000, 100) // → false
validación
Casos de prueba
tests/5.casesmostrando 5 de 5
- [01]último pulso dentro de ventana
- [02]silencio mayor que la ventana
- [03]sin pulsos → sin vida
- [04]justo sobre el límite (0 ms de margen)
- [05]desordenados: importa el más reciente