meeting-rooms.py
intervals/meeting-rooms.py · Python · 797 B · 2026-02-01 17:34
# Sort meetings by start time and then loop checking the adjacent ones for overlap. # intervals # O(n log n) time, O(1) space def canAttendMeetings(intervals: list[list[int]]) -> bool: intervals.sort(key=lambda x: x[0]) for i in range(1, len(intervals)): if intervals[i][0] < intervals[i-1][1]: return False return True # Brute force: O(n^2) time, O(1) space def canAttendMeetings(intervals: list[list[int]]) -> bool: n = len(intervals) for i in range(n): A = intervals[i] for j in range(i + 1, n): B = intervals[j] if min(A[1], B[1]) > max(A[0], B[0]): # minimum of ends is greatest than the maximum of starts # or: A.end > B.start and A.start < B.start return False return True