Menu
CoddyTech

Meeting Rooms II

Toplantıların listesini iki dizi olarak alırsın: i numaralı toplantı starts[i] anında başlar ve ends[i] anında biter. Bir oda aynı anda tek bir toplantıya ev sahipliği yapar ve bir toplantı, o odadaki başka bir toplantının bittiği anda başlayabilir.

Tüm toplantılara ev sahipliği yapabilecek en az sayıda odayı döndüren minMeetingRooms adlı bir fonksiyon yaz.

Fonksiyon

minMeetingRooms(starts: integer-array, ends: integer-array) → integer
startsinteger-array
her toplantının başlangıç saati
endsinteger-array
her toplantının bitiş zamanı, başlangıç zamanıyla aynı indekste
Döndürürinteger
tüm toplantıları barındırabilecek en az sayıda oda

Kısıtlar

  • 1 ≤ starts.length == ends.length ≤ 5000
  • 0 ≤ starts[i] < ends[i] ≤ 106
  • Toplantılar sıralanmamıştır. İki toplantı aynı olabilir.

Örnekler

Girdi
starts = [4, 1, 7, 2]ends = [8, 5, 9, 6]
Çıktı
3
Açıklama
4. zamanda 1'den 5'e, 2'den 6'ya ve 4'ten 8'e kadar olan toplantıların hepsi devam ediyor; bu yüzden en az 3 odaya ihtiyacın var. Üç oda yeterlidir: 7'den 9'a kadar olan toplantı, 5'te boşalan odayı kullanır.
challenge icon

Ek soru

Her toplantının hangi odaya gittiğini de, yanıttakinden daha fazla oda kullanmadan söyleyebilir misin?

Kodu sıfırla
def minMeetingRooms(starts, ends):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argümanlar

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

Beklenen Çıktı

3