Greedy Algorithms8 sections · 316 units
Open in Course

Meeting Rooms - Implementation

The code

Here is the solution:

function canAttendMeetings(intervals)
 if length of intervals <= 1 then
 return true
 sort intervals by start time
 for i from 1 to length - 1
 if intervals[i].start < intervals[i-1].end then
 return false
 return true

Time: O(nlogn)O(n \log n) for sorting. Space: O(1)O(1) extra.

Once sorted, any overlap must occur between adjacent meetings. If meeting ii starts before meeting i1i-1 ends, they conflict.