[리트코드] 0253. 회의실II

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

중간


일련의 회의 시간 간격이 주어지면 간격 어디 간격[i] = [시작 i , 끝 i ], 반품 필요한 최소 회의실 수.

예시 1:

입력: 간격 = [[0,30],[5,10],[15,20]]
산출: 2

예 2:

입력: 간격 = [[7,10],[2,4]]
산출: 1

제약:

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

파이썬

				
					# 시간 복잡도: O(nlogn) # 공간 복잡도: O(n) import heapq from timing import List 클래스 솔루션: def minMeetingRooms(self, 간격: List[List[int]]) -> int: 그렇지 않은 경우 간격: 반환 0 freeRooms = [] 간격.sort() 간격[1:]의 간격에 대한 heapq.heappush(freeRooms, 간격[0][1]): if freeRooms[0] <= 간격[0]: heapq.heappop(freeRooms) heapq.heappush(freeRooms, 간격[1]) return len(freeRooms) 간격 = [[2, 8], [3, 4], [3, 9], [5, 11], [8, 20], [ 11, 15]] print(Solution().minMeetingRooms(간격))
				
			
ko_KR한국어