Tantangan ini sangat terinspirasi oleh pos Stack Overflow ini .
Tantangan
Diberikan banyak klien dalam hal ketika mereka memasuki sebuah ruangan dan ketika mereka keluar, tentukan periode waktu ketika ruangan itu memiliki jumlah maksimum orang. Resolusi waktu harus menit.
Misalnya, jika ada tiga klien 8 - 10
, 9 - 11
, 10 - 12
, maka jawaban yang benar akan 9 - 11
; selama periode waktu ini, ada dua klien di ruangan itu, yang merupakan kemungkinan terbesar.
Memasukkan
Input akan berupa daftar pasangan dalam beberapa bentuk. Itu bisa berupa daftar 2-tupel, daftar panjang dengan elemen yang disisipkan, dll, format input yang masuk akal. Waktu dapat diberikan dalam format apa pun yang masuk akal, dalam waktu 12 atau 24 jam. Anda juga dapat memasukkan waktu karena jumlah menit lewat tengah malam.
Keluaran
Output harus berupa daftar pasangan dalam beberapa bentuk, tetapi outputnya lebih ketat. Outputnya tidak bisa berupa daftar datar, harus berupa daftar 2-tupel atau daftar daftar, dll. Kali ini bisa berupa output dalam format apa pun yang masuk akal, dalam waktu 12 atau 24 jam. Anda juga dapat menampilkan waktu karena jumlah menit lewat tengah malam.
Contohnya
input
output
INPUT
08:00 - 10:00
09:00 - 11:00
10:00 - 12:00
OUTPUT
09:00 - 11:00
INPUT
08:20 - 09:20
09:00 - 09:10
08:00 - 09:30
08:50 - 10:40
OUTPUT
09:00 - 09:10
INPUT
08:00 - 10:00
09:00 - 10:00
09:30 - 11:00
OUTPUT
09:30 - 10:00 # The output is not always in the input list
INPUT
00:00 - 02:00
01:00 - 03:00
04:00 - 06:00
05:00 - 07:00
OUTPUT # This is the expected output for when there are multiple time ranges with the same "business".
01:00 - 02:00
05:00 - 06:00
Anda dapat berasumsi bahwa kedua kalinya berpasangan akan selalu setelah pertama kali. Rentang waktu tidak akan berjalan melebihi tengah malam.
09:00 - 10:00, 10:00 - 11:00
output yang valid untuk test case pertama?