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?Jawaban:
Brachylog , 25 byte
Cobalah online!
Ada struktur yang jelas untuk jawaban ini, yang menjadi lebih jelas jika Anda menulisnya seperti ini:
Sayangnya, urutan evaluasi Brachylog membuatnya sehingga program masuk ke loop tak terbatas jika Anda mencoba untuk mengambil keuntungan dari struktur yang dimaksud. Namun, tentu saja mungkin untuk membayangkan bahasa seperti Brachylog di mana ini jauh lebih pendek.
sumber
Jelly ,
222120 byteCobalah online!
sumber
Brachylog , 58 byte
Cobalah online!
Ini harus menjadi jawaban Brachylog terpanjang yang pernah ...
sumber
Pyth ,
3324 byteCobalah online!
sumber
Mathematica, 104 byte
Tentu saja, ini mengasumsikan bahwa beberapa built-in Mathematica daya tinggi benar ...
sumber