Đưa ra một danh sách các phạm vi ngày rlàm đầu vào, đầu ra hoặc trả về bất kỳ phạm vi nào không tìm thấy trong r.
Vì lợi ích của ví dụ này, đầu vào sẽ có YYYY-MM-DDđịnh dạng.
Giả sử bạn có ba phạm vi ngày:
[2019-01-01, 2019-02-01]
[2019-02-02, 2019-04-05]
[2019-06-01, 2019-07-01]
Bạn có thể thấy rằng có một khoảng cách ở giữa 2019-04-05và 2019-06-01.
Đầu ra sẽ là khoảng cách đó: [2019-04-06, 2019-05-31]
Quy tắc
- Đầu vào và đầu ra có thể ở bất kỳ định dạng ngày hoặc bộ sưu tập hợp lý nào, miễn là phù hợp.
- Giả sử đầu vào không được đặt hàng.
- Phạm vi ngày của bạn không cần phải có
[latest, earliest], nhưng nó phải tuân theo quy tắc 2. - Giả sử không có ngày trùng lặp trong đầu vào
Các trường hợp thử nghiệm:
Đầu vào: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-04-05],[2019-06-01, 2019-07-01]]
Đầu ra: [[2019-04-06, 2019-05-31]]
Đầu vào: [[2019-01-01, 2019-02-01],[2018-02-02, 2018-04-05],[2019-06-01, 2019-07-01]]
Đầu ra: [[2018-04-06, 2018-12-31], [2019-02-02, 2019-05-31]]
Đầu vào: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-03-02],[2019-03-03, 2019-07-01]]
Đầu ra: []
Đầu vào: [[2019-01-01, 2019-02-01], [2019-11-02, 2019-11-20]]
Đầu ra: [[2019-02-02, 2019-11-01]]
Đầu vào: [[2019-01-01, 2019-02-01],[2019-02-03, 2019-04-05]]
Đầu ra: [[2019-02-02, 2019-02-02]]hoặc[[2019-02-02]]
YYYY-MM-DDvì định dạng hiện tại vừa xa lạ với nhiều người, và thậm chí còn khó phân tích hơn do sử dụng các ngày nhỏ trong tháng 12.