[リートコード] 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].length == 2
  • 0 <= 開始i <= 終了i <= 10 4

パイソン

				
					# 時間計算量: O(nlogn) # 空間計算量: import リスト クラスの入力による O(n) 解決策: def merge(self, Interval: List[List[int]]) -> List[List[int]]: Interval。 sort() mergeResult = [intervals[0]] 間隔内の間隔: if mergeResult[-1][1] < interval[0]: mergeResult.append(interval) else: mergeResult[-1][1] = max( mergeResult[-1][1], interval[1]) return mergeResult 間隔 = [[1, 3], [2, 6], [8, 10], [15, 18]] print(Solution().merge (間隔)) 間隔 = [[1, 4], [4, 5]] print(Solution().merge(intervals)) 間隔 = [[1, 4], [2, 3]] print(Solution() .merge(intervals)) 間隔 = [[1, 4], [1, 4]] print(Solution().merge(intervals))
				
			
ja日本語