253.会议室 II-排序
Posted hequnwang10
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了253.会议室 II-排序相关的知识,希望对你有一定的参考价值。
一、题目描述
二、解题
排序
这题有点类似于452题-用最少数量的箭引爆气球
将数组按照左边界升序,然后通过比较,左右两个边界,判断是否需要新的会议室,如果相邻的两个数组不重合,说明开完上一个会,会议室空闲,继续给下一个会议使用,共用一个会议室,如果重叠则需要两个会议室。
public class leetcode253
public static void main(String[] args)
leetcode253 leetcode = new leetcode253();
int[][] intervals = new int[][]
// 0,30,5,10,15,20
7,10,2,4
;
int res = leetcode.minMeetingRooms(intervals);
System.out.println(res);
public int minMeetingRooms(int[][] intervals)
if(intervals == null)
return 0;
//使用排序
Arrays.sort(intervals, new Comparator<int[]>()
@Override
public int compare(int[] o1, int[] o2)
//左边界升序
return o1[0] - o2[0];
);
int cnt = 1;
int right = intervals[0][1];
int length = intervals.length;
//从第二个数开始遍历
for(int i = 1;i<length;i++)
//如果第二个数的左边界大于前面的左边界,说明可以使用一间会议室
if(intervals[i][0] > right)
continue;
else
cnt++;
//更新右边界的值
right = intervals[i][1];
return cnt;
以上是关于253.会议室 II-排序的主要内容,如果未能解决你的问题,请参考以下文章