Grokking the Coding Interview: Patterns for Coding Questions
Ask Author
Back to course home

0% completed

Vote For New Content
Debasis B
Solution without heap in C#

Debasis B

Jan 20, 2025

public class Solution { /// <summary> /// O(n * log n) /// </summary> /// <param name="meetings"></param> /// <returns></returns> public int findMinimumMeetingRooms(List<Meeting> meetings) { meetings.Sort((x, y) => x.Start.CompareTo(y.Start)); int rooms = 1; Meeting inProgress = meetings[0]; for (int i = 1; i < meetings.Count; i++) { Meeting meeting = meetings[i]; if (DoesIntersect(meeting, inProgress)) { inProgress = FindIntersection(meeting, inProgress); rooms++; } else { inProgress = meeting; } } return rooms; } private bool DoesIntersect(Meeting meeting1, Meeting meeting2) { if ((meeting2.Start > meeting1.Start && meeting2.Start < meeting1.End) || (meeting1.Start > meeting2.Start && meeting1.Start < meeting2.End)) { return true; } return false; } private Meeting FindIntersection(Meeting meeting1, Meeting meeting2) { return new Meeting(Math.Max(meeting1.Start, meeting2.Start), Math.Min(meeting1.End, meeting2.End)); } }

0

0

Comments
Comments

On this page