Diberikan daftar interval, lakukan penyatuannya, dan kurangi tumpang tindih. Itu berarti, bagian yang tumpang tindih berkurang. ( [a, b] U [c, d] = [a, d]jika b > c) Dengan asumsi semua a <b dalam semua interval [a, b]. Menerapkan sebagai fungsi dari daftar interval input -> daftar interval output. Kode terpendek menang. Anda tidak dapat menggunakan perpustakaan yang ada.
Klarifikasi:
- Interval terbuka dan tertutup tidak dibedakan.
- Interval untuk bilangan real, bukan bilangan bulat. (
[2, 3], [4, 5] -> [2, 3], [4, 5]) - Tidak perlu mengurutkan interval output
- Urutan jika input tidak masalah
- Input ilegal hanya di
[a, b]manab >= a, tidak ada hubungannya dengan urutan interval input dan jumlah interval input. - Anda tidak perlu menampilkan pesan kesalahan pada perilaku yang tidak terdefinisi
Contoh (dengan garis angka)
[2, 4], [7, 9] --> [2, 4], [7, 9]
234
789
-> 234 789
[1, 5], [2, 10] --> [1, 10] (overlapping [2, 5] reduced)
12345
234567890
-> 1234567890
[2, 4], [3, 6], [8, 9] -> [2, 6], [8, 9]
234
3456
89
-> 23456 89
[4, 2], [2, 2] -> (undefined behavior: against the assumption)