今天我参加了一次面试,被问到如何检查两个会议是否冲突。每个会议都有开始时间和结束时间。
我尝试回答问题,但不是很具体...有人能提供些想法吗?
bool IsConflict(Datetime s1, Datetime e1, Datetime s2, Datetime e2)
如果存在冲突,应该返回True,如果没有冲突,则返回False。
例如:
如果满足以下条件,则返回True:
(s1, e1)= 8,10
(s2, e2) = 9, 11
(s1, e1)= 7,10
(s2, e2) = 8, 9
(s1, e1)= 8,11
(s2, e2) = 9, 11
以此类推
if
来判断日期是否重叠。如果按照某种方式(例如基于它们的开始时间,然后是结束时间)对日期进行排序,则可以简化和减少这些if
的数量。 - pnt