[リートコード] 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 をインポート 解決策: def minMeetingRooms(self, 間隔: List[List[int]]) -> int: 間隔でない場合: 0 を返すfreeRooms = [] Interval.sort() heapq.heappush(freeRooms, Interval[0][1]) for Interval in Interval[1:]: if freeRooms[0] <= Interval[0]: heapq.heappop(freeRooms) heapq.heappush(freeRooms, interval[1]) return len(freeRooms) 間隔 = [[2, 8], [3, 4], [3, 9], [5, 11], [8, 20], [ 11, 15]] print(Solution().minMeetingRooms(間隔))
				
			
ja日本語