Q. Build an API, that can schedule meetings in a predefined set of conference rooms.
It should have a method like scheduleMeeting(startTime, endTime) which returns any available room at that time and reserves it or throw an error if no rooms are available.
For eg, Lets say Uber building has 3 conference rooms and we start getting the requests as follows
scheduleMeeting(1647718624, 1647718731) // assign let’s say room1.
scheduleMeeting(1647718624, 1647718931) // same start time , assign room2 .
scheduleMeeting(1647718624, 1647718431) // assign room3 as same start time.
scheduleMeeting(1647718624, 1647768731) // error as no room is available for this time.
scheduleMeeting(1647718732, 1647728789) // assign room1 as it became free
** We are using unix timestamps here, for simplicity we can take integer values as well **Expected Time Complexity: log(meetings) + O(rooms) (since number of rooms are finite)
Similar problem: https://leetcode.com/problems/range-module
There are differences between both problems but you can take it as a reference.