[Leetcode] 0056. 병합 간격

Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크

중간

 


주어진 배열 간격 어디 간격[i] = [시작 i , 끝 i ], 겹치는 모든 간격을 병합하고 반환 입력의 모든 간격을 포괄하는 겹치지 않는 간격의 배열.

예시 1:

입력: 간격 = [[1,3],[2,6],[8,10],[15,18]]
산출: [[1,6],[8,10],[15,18]]
설명: 간격 [1,3]과 [2,6]이 겹치므로 [1,6]으로 병합합니다.

예 2:

입력: 간격 = [[1,4],[4,5]]
산출: [[1,5]]
설명: 간격 [1,4]와 [4,5]는 겹치는 것으로 간주됩니다.

제약:

  • 1 <= 간격.길이 <= 10 4
  • 간격[i].길이 == 2
  • 0 <= 시작 i <= 끝 i <= 10 4

파이썬

				
					# 시간 복잡도: O(nlogn) # 공간 복잡도: O(n) 입력 가져오기 목록 클래스 솔루션: def merge(self, 간격: List[List[int]]) -> List[List[int]]: 간격. sort() mergeResult = [intervals[0]] 간격의 간격: if mergeResult[-1][1] < 간격[0]: mergeResult.append(interval) else: mergeResult[-1][1] = max( mergeResult[-1][1], 간격[1]) mergeResult 간격 = [[1, 3], [2, 6], [8, 10], [15, 18]] 반환 print(Solution().merge (간격)) 간격 = [[1, 4], [4, 5]] print(Solution().merge(간격)) 간격 = [[1, 4], [2, 3]] print(Solution() .merge(간격)) 간격 = [[1, 4], [1, 4]] print(Solution().merge(간격))
				
			
ko_KR한국어