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.For example,
Given
return false.
[[0, 30],[5, 10],[15, 20]]
,return false.
So the thing is clear: detect the overlap. If comparing one by one, it is too low. Actually we can sort the intervals by staring time, if one's end exceeds its next one's start, return False.
# Time: O(nlogn) # Space: O(n) # # Definition for an interval. # class Interval: # def __init__(self, s=0, e=0): # self.start = s # self.end = e class Solution: # @param {Interval[]} intervals # @return {boolean} def canAttendMeetings(self, intervals): intervals.sort(key=lambda x: x.start) for i in xrange(1, len(intervals)): if intervals[i].start < intervals[i-1].end: return False return True
No comments:
Post a Comment