구간 목록이 주어지면 구간의 합집합을 수행하고 중복을 줄입니다. 즉, 겹치는 부분이 줄어 듭니다. ( [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)