Menu
CoddyTech

Meeting Rooms II

会議のリストが2つの配列として与えられます。会議 i は starts[i] から ends[i] まで行われます。1つの部屋で同時に行える会議は1つだけですが、別の会議がその部屋で終了するちょうどその時点から、会議を開始できます。

すべての会議を収容できる最小の部屋数を返す、minMeetingRooms という名前の関数を書いてください。

関数

minMeetingRooms(starts: integer-array, ends: integer-array) → integer
startsinteger-array
各会議の開始時刻
endsinteger-array
各会議の終了時刻(開始時刻と同じインデックスにある)
戻り値integer
すべての会議を収容できる最少の部屋数

制約

  • 1 ≤ starts.length == ends.length ≤ 5000
  • 0 ≤ starts[i] < ends[i] ≤ 106
  • 会議はソートされていません。2つの会議が同一の場合もあります。

例

入力
starts = [4, 1, 7, 2]ends = [8, 5, 9, 6]
出力
3
説明
時刻 4 には、1 から 5、2 から 6、4 から 8 までの会議がすべて実施中なので、少なくとも 3 室必要です。3 室あれば十分です。7 から 9 までの会議は、5 時に空く部屋を使います。

lock icon提出時に隠しテスト+17件

challenge icon

発展問題

答えの部屋数を超えずに、各会議がどの部屋に割り当てられるかも示せますか?

コードをリセット
def minMeetingRooms(starts, ends):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

starts = [4, 1, 7, 2]
ends = [8, 5, 9, 6]

期待値

3