Version: Next

252.会议室

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;
}