Back to course home
0% completed
Vote For New Content
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