間隔のリストを指定して、それらの和集合を実行し、重複を減らします。つまり、重なり合う部分が減ります。([a, b] U [c, d] = [a, d]if b > c)すべての間隔ですべてのa <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)