253.Meeting Rooms II

Posted 我的名字叫周周

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了253.Meeting Rooms II相关的知识,希望对你有一定的参考价值。

     /*
      * 253.Meeting Rooms II
      * 2016-6-20 by Mingyang
      * 贪心算法,和Rearrange array to certain distance一样
      */
     public int minMeetingRooms(Interval[] intervals) {
            if(intervals == null || intervals.length == 0) return 0;
            Arrays.sort(intervals, new Comparator<Interval>(){
                public int compare(Interval i1, Interval i2){
                    return i1.start - i2.start;
                }
            });
            // 用堆来管理房间的结束时间
            PriorityQueue<Integer> endTimes = new PriorityQueue<Integer>();
            endTimes.offer(intervals[0].end);
            for(int i = 1; i < intervals.length; i++){
                // 如果当前时间段的开始时间大于最早结束的时间,则可以更新这个最早的结束时间为当前时间段的结束时间,如果小于的话,就加入一个新的结束时间,表示新的房间
                if(intervals[i].start >= endTimes.peek()){
                    endTimes.poll();
                }
                endTimes.offer(intervals[i].end);
            }
            // 有多少结束时间就有多少房间
            return endTimes.size();
        }

 

以上是关于253.Meeting Rooms II的主要内容,如果未能解决你的问题,请参考以下文章

253. Meeting Rooms II

253. Meeting Rooms II

253. Meeting Rooms II

253 Meeting Rooms II

LeetCode 253. Meeting Rooms II(会议室)

Leetcode 253: Meeting Rooms II