给定日期范围列表r
作为输入,输出或返回在中找不到的任何范围r
。
为了这个示例,输入将采用YYYY-MM-DD
格式。
假设您有三个日期范围:
[2019-01-01, 2019-02-01]
[2019-02-02, 2019-04-05]
[2019-06-01, 2019-07-01]
您会看到2019-04-05
和之间存在缝隙2019-06-01
。
输出将是该差距: [2019-04-06, 2019-05-31]
规则
- 输入和输出可以采用任何合理的日期或收集格式,只要保持一致即可。
- 假设输入未排序。
- 您的日期范围不必为
[latest, earliest]
,但必须遵循规则2。 - 假设输入中没有重叠的日期
测试用例:
输入: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-04-05],[2019-06-01, 2019-07-01]]
输出: [[2019-04-06, 2019-05-31]]
输入: [[2019-01-01, 2019-02-01],[2018-02-02, 2018-04-05],[2019-06-01, 2019-07-01]]
输出: [[2018-04-06, 2018-12-31], [2019-02-02, 2019-05-31]]
输入: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-03-02],[2019-03-03, 2019-07-01]]
输出: []
输入: [[2019-01-01, 2019-02-01], [2019-11-02, 2019-11-20]]
输出: [[2019-02-02, 2019-11-01]]
输入: [[2019-01-01, 2019-02-01],[2019-02-03, 2019-04-05]]
输出:[[2019-02-02, 2019-02-02]]
或[[2019-02-02]]
YYYY-MM-DD
因为当前格式对于许多人来说都是陌生的,并且由于使用小于等于12的月份,因此更难以解析。