252. Meeting Rooms

Easy


Given an array of meeting time intervals where intervals[i] = [starti, endi], determine if a person could attend all meetings.

 

Example 1:

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

Example 2:

Input: intervals = [[7,10],[2,4]]
Output: true

 

Constraints:

  • 0 <= intervals.length <= 104
  • intervals[i].length == 2
  • 0 <= starti < endi <= 106




 class Solution:
    def canAttendMeetings(self, intervals: List[List[int]]) -> bool:
        # allocation = []
        if len(intervals) <= 1:
            return True

        intervals.sort()
#         allocation.append(intervals[0][1])

#         heapq.heapify(allocation)

#         for intv in intervals[1:]:   

#             if intv[0] < allocation[0]: 
#                 return False
#                 #heapq.heappush(allocation, intv[1])
#             else:
#                 heapq.heappushpop(allocation, intv[1])        

#         return len(allocation) == 1

        for i in range(len(intervals)-1):
            if intervals[i][1]>intervals[i+1][0]:
                return False
        return True

Random Note


time.perf_counter() always returns the float value of time in seconds. while pref_counter_ns() always gives the integer value of time in nanoseconds.


t1_start = perf_counter()
t1_stop = perf_counter()
print("Elapsed time:", t1_stop, t1_start)