数据结构与算法——区间的集合(重叠区间、合并区间的集合、插入区间的集合)
发布时间
阅读量:
阅读量
判断区间是否重叠
力扣 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)
还没有任何评论哟~
