Menu
CoddyTech

Meeting Rooms II

Kamu mendapatkan list rapat dalam bentuk dua array: rapat i berlangsung dari starts[i] hingga ends[i]. Satu ruangan hanya dapat menampung satu rapat pada satu waktu, dan rapat dapat dimulai di suatu ruangan tepat saat rapat lain di ruangan tersebut berakhir.

Tulis fungsi bernama minMeetingRooms yang mengembalikan jumlah ruangan terkecil yang dapat menampung semua rapat.

Fungsi

minMeetingRooms(starts: integer-array, ends: integer-array) → integer
startsinteger-array
waktu mulai setiap rapat
endsinteger-array
waktu berakhirnya setiap rapat, pada indeks yang sama dengan waktu mulainya
Mengembalikaninteger
jumlah ruang paling sedikit yang dapat menampung semua rapat

Batasan

  • 1 ≤ starts.length == ends.length ≤ 5000
  • 0 ≤ starts[i] < ends[i] ≤ 106
  • Pertemuan tidak diurutkan. Dua pertemuan mungkin identik.

Contoh

Input
starts = [4, 1, 7, 2]ends = [8, 5, 9, 6]
Output
3
Penjelasan
Pada waktu 4, rapat dari 1 sampai 5, dari 2 sampai 6, dan dari 4 sampai 8 semuanya berlangsung, jadi kamu membutuhkan setidaknya 3 ruangan. Tiga ruangan sudah cukup: rapat dari 7 sampai 9 menggunakan ruangan yang kosong pada waktu 5.
challenge icon

Pertanyaan lanjutan

Bisakah kamu juga menyebutkan ruangan untuk setiap rapat, dengan jumlah ruangan tidak lebih dari jawaban tersebut?

Reset kode
def minMeetingRooms(starts, ends):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

3