Advertisement

数据结构与算法——区间的集合(重叠区间、合并区间的集合、插入区间的集合)

阅读量:

判断区间是否重叠

力扣 252. 会议室

提供一组会议时间安排的数组 intervals ,其中每个元素 intervals[i] = [starti, endi] 表示某次会议的起始与结束时间。请判断一个人是否可以完整参与所有会议。

示例 1:
输入: intervals = [[0,30],[5,10],[15,20]]
输出: false
解释: 存在时间重叠的情况,因此无法在同一时间参与多个会议。

示例 2:
输入: intervals = [[7,10],[2,4]]
输出: true
解释: 所有会议的时间段均无冲突。

思路分析

由于个体在同一时间仅能参与单一会议,因此该问题的核心在于识别是否存在时间冲突的区间。这一问题较为简单,可通过将各会议的时间段依据起始时刻进行排列,随后逐一检查相邻区间是否存在交集来实现判断。

复制代码
    class Solution {
    public boolean canAttendMeetings(int[][] intervals) {
        // 将区间按照会议开始实现升序排序
        Arrays.sort(intervals, (v1, v2) -> v1[0] - v2[0]);
        // 遍历会议,如果下一个会议在前一个会议结束之

全部评论 (0)

还没有任何评论哟~