Podano listę zakresów dat r
jako dane wejściowe, wyjściowe lub zwracające wszelkie zakresy, których nie znaleziono w r
.
Na potrzeby tego przykładu dane wejściowe będą miały YYYY-MM-DD
format.
Załóżmy, że masz trzy zakresy dat:
[2019-01-01, 2019-02-01]
[2019-02-02, 2019-04-05]
[2019-06-01, 2019-07-01]
Widać, że istnieje przerwa między 2019-04-05
i 2019-06-01
.
Wynik będzie taki: [2019-04-06, 2019-05-31]
Zasady
- Dane wejściowe i wyjściowe mogą mieć dowolny rozsądny format daty lub kolekcji, o ile są spójne.
- Załóż, że dane wejściowe nie są uporządkowane.
- Twój zakres dat nie musi być
[latest, earliest]
, ale musi być zgodny z regułą 2. - Załóżmy, że dane wejściowe nie pokrywają się
Przypadki testowe:
Wejście: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-04-05],[2019-06-01, 2019-07-01]]
Wynik: [[2019-04-06, 2019-05-31]]
Wejście: [[2019-01-01, 2019-02-01],[2018-02-02, 2018-04-05],[2019-06-01, 2019-07-01]]
Wynik: [[2018-04-06, 2018-12-31], [2019-02-02, 2019-05-31]]
Wejście: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-03-02],[2019-03-03, 2019-07-01]]
Wynik: []
Wejście: [[2019-01-01, 2019-02-01], [2019-11-02, 2019-11-20]]
Wynik: [[2019-02-02, 2019-11-01]]
Wejście: [[2019-01-01, 2019-02-01],[2019-02-03, 2019-04-05]]
Wyjście: [[2019-02-02, 2019-02-02]]
lub[[2019-02-02]]
YYYY-MM-DD
ponieważ obecny format jest obcy dla wielu osób, a jeszcze trudniejszy do przeanalizowania ze względu na użycie małych dni miesiąca ≤12.