Menu
CoddyTech

Meeting Rooms II

Ricevi un elenco di riunioni sotto forma di due array: la riunione i si svolge da starts[i] a ends[i]. Una stanza può ospitare una sola riunione alla volta e una riunione può iniziare in una stanza esattamente nel momento in cui termina un'altra riunione che vi si svolge.

Scrivi una funzione chiamata minMeetingRooms che restituisca il numero minimo di stanze in cui possono svolgersi tutte le riunioni.

Funzione

minMeetingRooms(starts: integer-array, ends: integer-array) → integer
startsinteger-array
l'ora di inizio di ogni riunione
endsinteger-array
l'ora di fine di ogni riunione, allo stesso indice del suo inizio
Restituisceinteger
il minor numero di sale in grado di ospitare tutte le riunioni

Vincoli

  • 1 ≤ starts.length == ends.length ≤ 5000
  • 0 ≤ starts[i] < ends[i] ≤ 106
  • Le riunioni non sono ordinate. Due riunioni possono essere identiche.

Esempi

Input
starts = [4, 1, 7, 2]ends = [8, 5, 9, 6]
Output
3
Spiegazione
Al tempo 4, le riunioni dalle 1 alle 5, dalle 2 alle 6 e dalle 4 alle 8 sono tutte in corso, quindi ti servono almeno 3 sale. Tre sono sufficienti: la riunione dalle 7 alle 9 occupa la sala che si libera alle 5.

lock icon+17 test nascosti all’invio

challenge icon

Per approfondire

Puoi anche indicare in quale stanza si svolge ciascuna riunione, utilizzando al massimo il numero di stanze indicato nella risposta?

Ripristina il codice
def minMeetingRooms(starts, ends):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

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

Atteso

3