รับรายการช่วงเวลาดำเนินการสหภาพของพวกเขาและลดการทับซ้อน นั่นหมายถึงชิ้นส่วนที่ทับซ้อนกันจะลดลง ( [a, b] U [c, d] = [a, d]ถ้าb > c) สมมติว่าทุก <b [a, b]ในช่วงเวลาทั้งหมด ใช้เป็นฟังก์ชั่นของรายการช่วงเวลาอินพุต -> รายการช่วงเวลาเอาต์พุต รหัสที่สั้นที่สุดชนะ คุณไม่สามารถใช้ห้องสมุดที่มีอยู่ใด ๆ
ชี้แจง:
- ช่วงเวลาที่เปิดและปิดจะไม่แตกต่าง
- ช่วงเวลาสำหรับจำนวนจริงไม่ใช่จำนวนเต็ม (
[2, 3], [4, 5] -> [2, 3], [4, 5]) - ไม่จำเป็นต้องเรียงลำดับช่วงเอาต์พุต
- ลำดับถ้าอินพุตไม่สำคัญ
- อินพุตที่ผิดกฎหมายเป็นเพียง
[a, b]ที่ซึ่งb >= aไม่มีส่วนเกี่ยวข้องกับลำดับของช่วงเวลาอินพุตและจำนวนของช่วงเวลาอินพุต - คุณไม่จำเป็นต้องแสดงข้อความแสดงข้อผิดพลาดเกี่ยวกับพฤติกรรมที่ไม่ได้กำหนด
ตัวอย่าง (พร้อมหมายเลขบรรทัด)
[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)