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的主要内容,如果未能解决你的问题,请参考以下文章