Menu
CoddyTech

Meeting Rooms

Kamu mendapatkan daftar rapat dalam bentuk dua array: rapat i berlangsung dari starts[i] hingga ends[i]. Seseorang ingin menghadiri semuanya, jadi tidak boleh ada dua rapat yang waktunya tumpang tindih. Sebuah rapat boleh dimulai tepat saat rapat lainnya berakhir. Kembalikan true jika orang tersebut dapat menghadiri setiap rapat, dan false jika tidak.

Fungsi

canAttendMeetings(starts: integer-array, ends: integer-array) → boolean
startsinteger-array
waktu mulai setiap rapat
endsinteger-array
waktu berakhirnya setiap rapat, pada indeks yang sama dengan waktu mulainya
Mengembalikanboolean
benar jika tidak ada dua pertemuan yang tumpang tindih, salah jika tidak

Batasan

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

Contoh

Input
starts = [9, 13, 10]ends = [10, 15, 12]
Output
true
Penjelasan
Urutan waktu pertemuannya adalah dari 9 sampai 10, 10 sampai 12, dan 13 sampai 15. Pertemuan kedua dimulai tepat saat pertemuan pertama berakhir, dan itu diperbolehkan, jadi jawabannya adalah true.
challenge icon

Pertanyaan lanjutan

Jika rapat dipesan satu per satu, bagaimana kamu akan memeriksa setiap pemesanan baru terhadap jadwal dalam O(log n), tanpa mengurutkan semuanya lagi?

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

Tes #1

Tes #2

Argumen

starts = [9, 13, 10]
ends = [10, 15, 12]

Output yang diharapkan

true