Сложность: easy
Дан массив интервалов времени встреч, где intervals[i] = [starti, endi]. Определите, может ли человек посетить все встречи.
Пример:
Input: intervals = [[0,30],[5,10],[15,20]]
Output: false
👨💻 Алгоритм:
1⃣Создайте функцию для проверки перекрытия двух интервалов:
Возвращайте true, если начало одного интервала находится внутри другого интервала.
2⃣Проверьте каждый интервал с каждым другим интервалом:
Если найдено перекрытие, верните false.
3⃣Если все интервалы проверены и перекрытий не найдено, верните true.
😎 Решение:
class Solution {
func overlap(_ interval1: [Int], _ interval2: [Int]) -> Bool {
return (interval1[0] >= interval2[0] && interval1[0] < interval2[1]) ||
(interval2[0] >= interval1[0] && interval2[0] < interval1[1])
}
func canAttendMeetings(_ intervals: [[Int]]) -> Bool {
for i in 0..<intervals.count {
for j in i + 1..<intervals.count {
if overlap(intervals[i], intervals[j]) {
return false
}
}
}
return true
}
}Ставь 👍 и забирай 📚 Базу знаний