Menu
CoddyTech

Meeting Rooms II

Vous recevez une liste de réunions sous forme de deux tableaux : la réunion i se déroule de starts[i] à ends[i]. Une salle accueille une seule réunion à la fois, et une réunion peut commencer dans une salle au moment exact où une autre réunion qui s’y déroule se termine.

Écrivez une fonction nommée minMeetingRooms qui renvoie le plus petit nombre de salles pouvant accueillir toutes les réunions.

Fonction

minMeetingRooms(starts: integer-array, ends: integer-array) → integer
startsinteger-array
l’heure de début de chaque réunion
endsinteger-array
l'heure de fin de chaque réunion, au même index que son heure de début
Renvoieinteger
le nombre minimal de salles pouvant accueillir toutes les réunions

Contraintes

  • 1 ≤ starts.length == ends.length ≤ 5000
  • 0 ≤ starts[i] < ends[i] ≤ 106
  • Les réunions ne sont pas triées. Deux réunions peuvent être identiques.

Exemples

Entrée
starts = [4, 1, 7, 2]ends = [8, 5, 9, 6]
Sortie
3
Explication
À l’heure 4, les réunions de 1 à 5, de 2 à 6 et de 4 à 8 sont toutes en cours, donc tu as besoin d’au moins 3 salles. Trois suffisent : la réunion de 7 à 9 prend la salle qui se libère à 5.

lock icon+17 tests cachés à la soumission

challenge icon

Pour aller plus loin

Peux-tu aussi indiquer dans quelle salle se déroule chaque réunion, sans utiliser plus de salles que le nombre indiqué dans la réponse ?

Réinitialiser le code
def minMeetingRooms(starts, ends):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

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

Attendu

3