我有以下情况:两个任务,A和B,每个任务都有一个给定的时间窗口,指定任务可以开始的最早时间,调用earliestStart
和任务可以结束的最晚时间,调用latestEnd
。此外,任务有一个给定的duration
,即等于或小于latestEnd - earliestStart
该特定任务的 。例如,任务A
必须在 内执行08:00-10:00
,持续时间为 1 小时,而任务B
必须在 内执行08:50-09:55
,持续时间为 1 小时。我怎样才能在java中轻松检查,这是正确的吗?(证明它们不重叠):
taskA.earliestStart + taskA.duration < taskB.latestEnd - taskB.duration
|| taskB.earliestStart + taskB.duration < taskA.latestEnd - taskA.duration