volver al archivo
04
MAY
día 04 / 30

Pulso de vida

Fácil
arraysmathtimestamps
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
  1. [01]último pulso dentro de ventana
  2. [02]silencio mayor que la ventana
  3. [03]sin pulsos → sin vida
  4. [04]justo sobre el límite (0 ms de margen)
  5. [05]desordenados: importa el más reciente