Version: Next
252.会议室
难度简单
给定一个会议时间安排的数组 intervals
,每个会议时间都会包括开始和结束的时间 intervals[i] = [starti, endi]
,请你判断一个人是否能够参加这里面的全部会议。
示例 1:
输入:intervals = [[0,30],[5,10],[15,20]]
输出:false
示例 2:
输入:intervals = [[7,10],[2,4]]
输出:true
提示:
0 <= intervals.length <= 104
intervals[i].length == 2
0 <= starti < endi <= 106
排序
根据所有会议开始时间进行排序
遍历所有会议的开始结束时间,判断当前会议开始时间与前一个会议结束时间的大小关系即可
public boolean canAttendMeetings(int[][] intervals) {
if (intervals.length < 2) return true; // 会议时间数据为 0 个 或 1个
// 根据开始时间排序
Arrays.sort(intervals, (arr1, arr2) -> arr1[0] - arr2[0]);
// 遍历二维数组,当前开始时间 与 前一个结束时间比较
for (int i = 1; i < intervals.length; i++)
if (intervals[i - 1][1] > intervals[i][0]) return false;
return true;
}