Menu
CoddyTech

Minimum Platforms

Bir istasyonun bir günlük tarifesi vardır: i numaralı tren arrival[i] saatinde gelir ve departure[i] saatinde ayrılır. Saatler HHMM biçimindedir; iki nokta işareti olmadan saat gösterilir, bu nedenle 930, 09:30 anlamına gelir.

Bir tren, geldiği dakikadan ayrıldığı dakikaya kadar, her iki dakika da dahil olmak üzere, peronunu kullanır. Bu nedenle, başka bir trenin ayrıldığı dakika gelen bir tren o trenin peronunu kullanamaz.

Hiçbir trenin beklemesi gerekmemesi için istasyonun ihtiyaç duyduğu en az peron sayısını döndürün.

Fonksiyon

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
her trenin varış saati, HHMM biçiminde bir sayı
departureinteger-array
her trenin HHMM biçimindeki hareket saati; departure[i], arrival[i] ile eşleşir
Döndürürinteger
aynı dakikada istasyondaki en fazla tren sayısı; gereken en az platform sayısı da budur

Kısıtlar

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • Her zaman, son iki basamağı en fazla 59 olan geçerli bir HHMM saatidir.
  • Tüm trenler aynı gün çalışır. Diziler sıralı değildir.

Örnekler

Girdi
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
Çıktı
3
Açıklama
15:30'da istasyonda üç tren duruyor: 15:00–16:00, 15:20–15:35 ve 15:30–15:45 seferleri. Hiçbir dakikada dört tren olmuyor, bu yüzden 3 peron yeterli.
challenge icon

Ek soru

Gece trenlerinden bazıları gece yarısından önce gelir ve gece yarısından sonra hareket eder; bu nedenle hareket saatleri varış saatlerinden daha küçüktür. Tarife gece yarısını aştığında peronları nasıl sayarsınız?

Kodu sıfırla
def minimumPlatforms(arrival, departure):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argümanlar

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

Beklenen Çıktı

3