Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. import pdb
  2. import heapq as h
  3.  
  4. # HEAP
  5. # Insert O(log n)
  6. # Delete O(log n)
  7. # Search O(n)
  8. # Building a Heap O(n)
  9.  
  10. def meetingRooms2(intervals=[[0,30],[5,10],[15,20]]):
  11. if (intervals == None or len(intervals) == 0):
  12. return 0
  13. # start 0, end 1
  14. intervals.sort(key=lambda list: list[0])
  15. minHeap = []
  16. h.heappush(minHeap, (intervals[0][1]))
  17.  
  18. for i in range(1, len(intervals)):
  19. curr = intervals[i]
  20. earliest_end = h.heappop(minHeap)
  21.  
  22. if (curr[0] >= earliest_end):
  23. earliest_end = curr[1]
  24. else:
  25. h.heappush(minHeap, curr[1])
  26.  
  27. h.heappush(minHeap, earliest_end)
  28.  
  29.  
  30. return len(minHeap)
  31.  
  32. print meetingRooms2()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement