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))