Menu
CoddyTech

Minimum Platforms

Uma estação tem a tabela de horários de um dia: o trem i chega em arrival[i] e parte em departure[i]. Os horários são números no formato HHMM, ou seja, a hora sem os dois-pontos; portanto, 930 corresponde a 09:30.

Um trem ocupa sua plataforma desde o minuto em que chega até o minuto em que parte, inclusive. Portanto, um trem que chega no mesmo minuto em que outro parte não pode usar a plataforma desse trem.

Retorne o menor número de plataformas de que a estação precisa para que nenhum trem tenha que esperar.

Função

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
o horário de chegada de cada trem, como um número HHMM
departureinteger-array
o horário de partida de cada trem, como um número HHMM; departure[i] corresponde a arrival[i]
Retornainteger
o maior número de trens na estação no mesmo minuto, que é o número mínimo de plataformas necessárias

Restrições

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • Cada horário é um horário válido no formato HHMM: seus dois últimos dígitos são, no máximo, 59.
  • Todos os trens circulam no mesmo dia. Os arrays não estão ordenados.

Exemplos

Entrada
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
Saída
3
Explicação
Às 15:30, três trens estão na estação: os das 15:00 às 16:00, das 15:20 às 15:35 e das 15:30 às 15:45. Nenhum minuto tem quatro trens, então 3 plataformas são suficientes.
challenge icon

Para ir além

Alguns trens noturnos chegam antes da meia-noite e partem depois dela, então o horário de partida é menor que o de chegada. Como você contaria as plataformas quando os horários atravessam a meia-noite?

Redefinir código
def minimumPlatforms(arrival, departure):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumentos

arrival = [900, 1500, 920, 1520, 1000, 1530]
departure = [930, 1600, 1010, 1535, 1100, 1545]

Saída Esperada

3