Menu
CoddyTech

Meeting Rooms II

Du erhältst eine Liste von Besprechungen als zwei Arrays: Besprechung i läuft von starts[i] bis ends[i]. In einem Raum findet jeweils nur eine Besprechung statt, und eine Besprechung kann in einem Raum genau dann beginnen, wenn dort eine andere Besprechung endet.

Schreibe eine Funktion namens minMeetingRooms, die die kleinste Anzahl an Räumen zurückgibt, in denen alle Besprechungen stattfinden können.

Funktion

minMeetingRooms(starts: integer-array, ends: integer-array) → integer
startsinteger-array
die Startzeit jeder Besprechung
endsinteger-array
die Endzeit jedes Meetings am selben Index wie dessen Startzeit
Gibt zurückinteger
die wenigsten Räume, in denen alle Besprechungen stattfinden können

Einschränkungen

  • 1 ≤ starts.length == ends.length ≤ 5000
  • 0 ≤ starts[i] < ends[i] ≤ 106
  • Die Besprechungen sind nicht sortiert. Zwei Besprechungen können identisch sein.

Beispiele

Eingabe
starts = [4, 1, 7, 2]ends = [8, 5, 9, 6]
Ausgabe
3
Erklärung
Zum Zeitpunkt 4 laufen die Besprechungen von 1 bis 5, von 2 bis 6 und von 4 bis 8 alle gleichzeitig, daher brauchst du mindestens 3 Räume. Drei reichen aus: Die Besprechung von 7 bis 9 nutzt den Raum, der um 5 frei wird.

lock icon+17 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Kannst du auch angeben, welchem Raum jedes Meeting zugeordnet wird, ohne mehr Räume als in der Antwort zu verwenden?

Code zurücksetzen
def minMeetingRooms(starts, ends):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

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

Erwartet

3