volver al archivo
12
MAY
día 12 / 30

Ventana de comunicación

Medio
arrayssortintervals
historia · contexto

Historia

Día 12

La antena secundaria —la que quedó intacta— solo podía apuntar a la Tierra en ventanas concretas. Lía registró cada ventana abierta como un par [inicio, fin]. Ventanas solapadas cuentan como una sola transmisión continua.

Necesitas sumar el tiempo total activo, sin contar solapamientos dos veces. La Corporación quiere saber cuántos minutos de contacto real hubo.

objetivo · spec

Tu misión

Tu misión

Implementa sumaDeTiempoActivo(ventanas) que recibe un array de intervalos [inicio, fin] (inclusivo-exclusivo) y devuelve la duración total cubierta por la unión de todos ellos.

Reglas

  • Dos intervalos que se tocan ([0, 5] y [5, 10]) se consideran contiguos: cuentan como [0, 10] (5 minutos, no 0).
  • Los intervalos pueden venir en cualquier orden.
  • Array vacío → 0.

Ejemplos

sumaDeTiempoActivo([[0, 10], [5, 20]])            // → 20
sumaDeTiempoActivo([[0, 5], [10, 15]])            // → 10
sumaDeTiempoActivo([[0, 10], [5, 15], [20, 30]])  // → 25
validación

Casos de prueba

tests/7.casesmostrando 5 de 7
  1. [01]solapamiento
  2. [02]disjuntos
  3. [03]sin ventanas
  4. [04]un solo intervalo
  5. [05]unión + disjunto
  6. … y 2 casos más, ocultos hasta enviar.