DIY: My Calendar

Solve the interview question "My Calendar" in this lesson.

Problem statement

You need to implement a module called MyCalendar that has a function called book(). This function takes the struct object along with the starting and ending time of an event as book(obj, start, end_var) as input, and returns a Boolean representing whether the event was booked successfully. An event can be booked successfully only if it doesn’t conflict with an already booked event. For example, if we call book(obj, 1, 3), followed by book(obj, 2, 4), and then book(obj, 6, 9), the first and third bookings succeed, but the second does not. If the new event conflicts with an existing event, it returns false.


The MyCalendar module init function does not take any input. However, the book() function takes two integer inputs representing the starting and ending time of the event as input along with the struct object. The following is an example of consecutive inputs to the book() function:{}, 2, 4){}, 6, 8){}, 3, 5)


The output of the book() function is a Boolean representing whether the event can be booked. The following is an example output:


Coding exercise

You need to implement the MyCalendar module with init and book(obj, start, end_var) functions using the skeleton code given below:

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.