Ejemplo n.º 1
0
        public int MinMeetingRooms(int[][] intervals)
        {
            if (intervals == null || intervals.Length == 0)
            {
                return(0);
            }

            Sort(intervals, 0);

            var minHeap = new MinHeap(intervals.Length);

            minHeap.Insert(intervals[0][1]);
            for (int i = 1; i < intervals.Length; i++)
            {
                if (!minHeap.IsEmpty() && minHeap.Peek() <= intervals[i][0])
                {
                    minHeap.Pop();
                }

                minHeap.Insert(intervals[i][1]);
            }

            return(minHeap.Size());
        }