Related: Meeting Rooms II
Intuition
- Sort by start time, then check if interval i ends after interval j, where
- If it does, then there is an overlap.
Runtime
where N is the number of intervals
Code
Sort by End time
class Solution:
def canAttendMeetings(self, intervals: List[Interval]) -> bool:
intervals.sort(key=lambda i: i.end)
for i in range(1, len(intervals)):
if intervals[i].start < intervals[i - 1].end:
return False
return TrueSort by Start time
class Solution:
def canAttendMeetings(self, intervals: List[List[int]]) -> bool:
intervals.sort()
n = len(intervals)
for i in range(n - 1):
if intervals[i][1] > intervals[i + 1][0]:
return False
return True