#458 Поиск пересекающихся событий
Есть список событий, у которых в наличии поля с id этого события, временем старта события и временем завершения события.
Нужно составить алгоритм выяснения, есть ли среди этих событий конфликтующие, то есть интервалы времени которых пересекаются.
Если время старта одного события совпадает со временем окончания другого, то такие события будем считать пересекающимися.
Примеры:
Input: [{id="1", startTime=1, endTime=5}, {id="2", startTime=4, endTime=7}]
Output: true
Input: [{id="1", startTime=1, endTime=5}, {id="2", startTime=7, endTime=9}, {id="3", startTime=4, endTime=7}]
Output: true
Input: [{id="1", startTime=1, endTime=5}, {id="2", startTime=6, endTime=7}]
Output: false
Input: []
Output: false
public class ConflictFinder {
public boolean findConflicts(List<Event> events) {
return false; // TODO
}
public static class Event {
private final String id;
private final long startTime;
private final long endTime;
public Event(String id, long startTime, long endTime) {
this.id = id;
this.startTime = startTime;
this.endTime = endTime;
}
public String getId() {
return id;
}
public long getStartTime() {
return startTime;
}
public long getEndTime() {
return endTime;
}
}
}
Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору