252. Meeting Rooms

Given an array of meeting time intervals consisting of start and end times`[[s1,e1],[s2,e2],...]`(si< ei), determine if a person could attend all meetings.

Example 1:

``````Input:
[[0,30],[5,10],[15,20]]
Output: false
``````

Example 2:

``````Input:[[7,10],[2,4]]

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

class Solution(object):
def canAttendMeetings(self, intervals):
"""
:type intervals: List[Interval]
:rtype: bool
"""
if not intervals: return True

intervals.sort(key=lambda x: x.start)

for i, interval in enumerate(intervals[1:]):
if interval.start < intervals[i].end:
return False
return True
``````
``````class Solution(object):
def canAttendMeetings(self, intervals):
"""
:type intervals: List[Interval]
:rtype: bool
"""
return all([first.end <= second.start for first, second in
zip(sorted(intervals, key = lambda x: x.start), sorted(intervals, key = lambda x: x.start)[1:])
]) if intervals else True
``````