Menu
CoddyTech

Meeting Rooms II

Recibes una lista de reuniones en dos arreglos: la reunión i transcurre desde starts[i] hasta ends[i]. En una sala se celebra una reunión a la vez, y una reunión puede comenzar en una sala justo en el momento en que termina otra reunión allí.

Escribe una función llamada minMeetingRooms que devuelva el menor número de salas que puede albergar todas las reuniones.

Función

minMeetingRooms(starts: integer-array, ends: integer-array) → integer
startsinteger-array
la hora de inicio de cada reunión
endsinteger-array
la hora de finalización de cada reunión, en el mismo índice que su hora de inicio
Devuelveinteger
la menor cantidad de salas que puedan albergar todas las reuniones

Restricciones

  • 1 ≤ starts.length == ends.length ≤ 5000
  • 0 ≤ starts[i] < ends[i] ≤ 106
  • Las reuniones no están ordenadas. Dos reuniones pueden ser idénticas.

Ejemplos

Entrada
starts = [4, 1, 7, 2]ends = [8, 5, 9, 6]
Salida
3
Explicación
A la hora 4, las reuniones de 1 a 5, de 2 a 6 y de 4 a 8 están todas en curso, así que necesitas al menos 3 salas. Tres son suficientes: la reunión de 7 a 9 ocupa la sala que queda libre a las 5.

lock icon+17 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿También puedes indicar a qué sala va cada reunión, usando como máximo tantas salas como la respuesta?

Restablecer código
def minMeetingRooms(starts, ends):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

3