Skip to content

meetingRooms

输入配置

执行过程

步骤 1 / 6
按开始时间排序会议
会议00 - 30
会议15 - 10
会议215 - 20
当前检查
前一个
冲突

算法说明

会议室问题:排序后检查相邻会议是否冲突。计算最少会议室数使用双指针分别处理开始和结束时间。时间复杂度O(n log n)。

会议室问题 - 判断是否能参加所有会议及需要的最少会议室数量。

函数签名

typescript
function canAttendMeetings(intervals: Interval[]): boolean
function minMeetingRooms(intervals: Interval[]): number

interface Interval {
  start: number
  end: number
}

参数

参数名类型必填说明
intervalsInterval[]会议时间数组

返回值

类型说明
booleancanAttendMeetings返回是否能参加所有会议
numberminMeetingRooms返回最少会议室数量

工作原理

canAttendMeetings

  1. 按开始时间排序
  2. 检查相邻会议是否有时间重叠

时间复杂度: O(n log n)

minMeetingRooms

  1. 分别提取并排序开始和结束时间
  2. 使用双指针模拟会议的开始和结束
  3. 维护当前需要的会议室数量

时间复杂度: O(n log n)
空间复杂度: O(n)