u6f*_*f6o 5 java intersection intervals
我有一组可能重叠的日期范围输入。我想创建具有调整日期的新日期范围,而不是组合这些重叠的日期范围,例如:
|---------------------–|
|-----|
|--------------–|
Run Code Online (Sandbox Code Playgroud)
最终应该是:
|-------|---|-|--------|----|
Run Code Online (Sandbox Code Playgroud)
有没有一种有效的方法可以用 Java 解决这个问题?
提前致谢!
更新: 我没有在我的第一个问题中提到我自己的方法,所以这里是:我只是简单地取一个时间间隔的开始和结束日期并将其添加到一个排序集中。之后,我会遍历该集合并根据重新排序的日期创建新的间隔。
基本思想:
startIntervals - endIntervals
并每当该数字为 0 时,该范围内就不应该有间隔。要解决此类问题,请使用开始日期作为第一个条件、结束日期作为第二个条件对时间间隔进行排序。这样您就可以在一次迭代中交叉间隔。如果您的间隔与另一个刚开始的间隔重叠,则按排序顺序其后继间隔应该是重叠间隔,依此类推。
归档时间: |
|
查看次数: |
11526 次 |
最近记录: |