TomoLink
CompaniesZeptoData Structures & AlgorithmsMy Calendar I
DSA
MediumArray

My Calendar I

arraybinary searchdesign

Problem Statement

You are implementing a program to use as your calendar. We can add a new event if adding the event will not cause a double booking .

A double booking happens when two events have some non-empty intersection (i.e., some moment is common to both events.).

The event can be represented as a pair of integers startTime and endTime that represents a booking on the half-open interval [startTime, endTime) , the range of real numbers x such that startTime <= x < endTime .

Implement the MyCalendar class:

MyCalendar() Initializes the calendar object.

boolean book(int startTime, int endTime) Returns true if the event can be added to the calendar successfully without causing a double booking . Otherwise, return false and do not add the event to the calendar.

Examples

Example 1
Input:
Output:

Constraints

0 <= start < end <= 10 ^9
At most 1000 calls will be made to book .
🤔
Medium
Difficulty
Topic Info
ModuleDSA
CategoryArray
Sub-topicBinary Search
Tags
arraybinary searchdesignsegment treeordered set
Navigation
My Calendar I [Medium] | Zepto Dsa | TomoLink