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
- [01]solapamiento
- [02]disjuntos
- [03]sin ventanas
- [04]un solo intervalo
- [05]unión + disjunto
- … y 2 casos más, ocultos hasta enviar.