Dada una lista de rangos de fechas r
como entrada, salida o devolución de cualquier rango que no se encuentre r
.
Por el bien de este ejemplo, la entrada estará en YYYY-MM-DD
formato.
Digamos que tiene tres rangos de fechas:
[2019-01-01, 2019-02-01]
[2019-02-02, 2019-04-05]
[2019-06-01, 2019-07-01]
Puedes ver que hay una brecha entre 2019-04-05
y 2019-06-01
.
El resultado será esa brecha: [2019-04-06, 2019-05-31]
Reglas
- La entrada y la salida pueden estar en cualquier fecha razonable o formato de recopilación, siempre que sea coherente.
- Suponga que la entrada no está ordenada.
- Su rango de fechas no tiene que ser
[latest, earliest]
, pero sí tiene que seguir la regla 2. - Suponga que no hay fechas superpuestas en la entrada
Casos de prueba:
Entrada: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-04-05],[2019-06-01, 2019-07-01]]
Salida: [[2019-04-06, 2019-05-31]]
Entrada: [[2019-01-01, 2019-02-01],[2018-02-02, 2018-04-05],[2019-06-01, 2019-07-01]]
Salida: [[2018-04-06, 2018-12-31], [2019-02-02, 2019-05-31]]
Entrada: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-03-02],[2019-03-03, 2019-07-01]]
Salida: []
Entrada: [[2019-01-01, 2019-02-01], [2019-11-02, 2019-11-20]]
Salida: [[2019-02-02, 2019-11-01]]
Entrada: [[2019-01-01, 2019-02-01],[2019-02-03, 2019-04-05]]
Salida: [[2019-02-02, 2019-02-02]]
o[[2019-02-02]]
YYYY-MM-DD
ya que el formato actual es extraño para muchas personas y se hizo aún más difícil de analizar debido al uso de pequeños días del mes≤12.