Member-only story

Coding Interview: Leetcode 729 My Calendar

Marika Lam
2 min readNov 21, 2024

--


var MyCalendar = function() {
this.calendar = [];
};

/**
* @param {number} newMeetingStart
* @param {number} newMeetingEnd
* @return {boolean}
*/
MyCalendar.prototype.book = function(newMeetingStart, newMeetingEnd) {
for (let i=0; i<this.calendar.length; i++){
const meeting = this.calendar[i];
const existingMeetingStart = meeting[0];
const existingMeetingEnd = meeting[1];

//Scenario 1
//start time of new meeting is < start time of existing meeting
//end time of new meeting is > start time of existing meeting
if (newMeetingStart < existingMeetingStart && newMeetingEnd > existingMeetingStart){
return false;
}

//Scenario 2
//start time of new meeting is == start time of existing meeting
else if (newMeetingStart == existingMeetingStart){
return false;
}

//Scenario 3
//start time of new meeting is > start time of existing meeting
//start time of new meeting is < end time of existing meeting
else if (newMeetingStart > existingMeetingStart && newMeetingStart < existingMeetingEnd){
return false;
}
}
this.calendar.push([newMeetingStart, newMeetingEnd]);
return true;
};

/**
* Your MyCalendar object will be instantiated and called as such:
* var obj = new MyCalendar()
* var param_1 =…

--

--

No responses yet