电厂考核系统,如何剔除重复时间段的代码实现问题??

想用C#试着编写一个电厂绩效考核的程序,但是有一个问题没想到太好的解决办法。
首先描述一下问题:“程序能够实现手动选择不需要参与考核的时间段,再加上电厂在低负荷运行时间段也不参与考核。但有可能手动选择的时间段可能与机组低负荷运行时间段存在重叠的部分”
现在编写的程序已经能够采用冒泡法,将上述两类情况包含的所有时间段按从时间先后顺序排练出来存储到数组中,想请问大神们,接下来应该如何考虑才能使数组中存储的时间段包含所有的时间,又没有重叠多余的部分?
(备注:程序中对于时间段,是定义了一个二维数组,第一列存该时间段的起始时间,第二列存该时间段的结束时间)

这种情况最好是借用数据库,分别建立两个不同的table然后用view显示不重叠的时间段

直接数据库查询呗,select * from (select * from 表 where 低负荷不满足的) where 手动选择不满足的