September 08, 2019

252. Meeting Rooms

252. Meeting Rooms

Time: O(nlogn), Space: O(1)

Java:

class Solution {
    public boolean canAttendMeetings(int[][] intervals) {
        Arrays.sort(intervals, (o1, o2) -> (o1[0] - o2[0]));
        for (int i = 0; i < intervals.length - 1; i++) {
            if (intervals[i][1] > intervals[i + 1][0]) {
                return false;
            }
        }
        return true;
    }
}

Python:

# Definition for an interval.
# class Interval:
#     def __init__(self, s=0, e=0):
#         self.start = s
#         self.end = e

class Solution:
    def canAttendMeetings(self, intervals: 'List[Interval]') -> 'bool':
        if not intervals or len(intervals) == 0:
            return True
        intervals = sorted(intervals, key = lambda x : x.start)
        end = intervals[0].end
        for i in range(1, len(intervals)):
            if intervals[i].start < end:
                return False
            else:
                end = intervals[i].end
        return True
comments powered by Disqus