猿问

求算法(合并重叠时间段)

同一天中的一连串不连续时间段,合并其中重叠时间,如:
StartTime EndTime
06:10:58 08:15:28
07:38:56 10:34:45
10:55:00 11:34:00
13:09:34 17:45:23
14:23:12 15:24:14
16:14:25 17:52:15
...
合并后为:
StartTime EndTime
06:10:58 10:34:45
10:55:00 11:34:00
13:09:34 17:52:15
...
时间复杂度尽量避免n^2的情况,即集合内任一元素与其他元素各比较一次

慕村225694
浏览 1388回答 2
2回答

潇湘沐

虽然功能实现得还是不错的,不过个人感觉欠考虑,不是效率问题,而是准确度问题。比方说,后面一行记录的结束时间如果也小于前面一行记录,那么结束时间就不应该继续拿后面一行记录了。如果List内的数据未经过排序,那么这样做肯定得不到想要的结果。鉴于数据一般优先加载到DataTable中,在DataTable中使用筛选更加好。
随时随地看视频慕课网APP
我要回答