Я пытаюсь найти обратное пересечение, чтобы увидеть, могут ли две команды играть друг с другом, но мне трудно выяснить точный код для этого.
Класс, представляющий диапазоны ниже, будет содержать два свойства: время начала и время окончания, которые могут быть датой, временем или временным интервалом. У каждой команды может быть свой список. Свойство timepan сводится к минутам, поэтому 14:21 допустимо.
Команда 1 не может играть между двумя указанными периодами времени, поэтому она может играть только с 10:00 до 17:00. Однако мы сохраняем исключение.
Команда 2 может играть с 8:00 до 12:00.
Это означает, что команда 1 и команда 2 могут играть между 10-12. Есть ли хороший способ вычислить это в коде?
Команда 1
List<Restriction>
Restriction
StartTime: 8:00 AM
EndTime: 10:00 AM
Restriction
StartTime: 5:00 PM
EndTime: 9:00 PM
Команда 2
List<Restriction>
Restriction
StartTime: 12:00 PM
EndTime: 9:00 PM