給出乙個區間的集合,請合併所有重疊的區間。
示例 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] 可被視為重疊區間。
解題思路:本題採用先排序然後依次遍歷列表元素尋找上下界的方法。首先根據列表內元素的下界進行公升序排序,然後遍歷陣列,如此時儲存答案的集合為空,或此時答案內的最後乙個元素的上界小於當前元素的下界,則將當前元素新增進結果列表。否則,將此時結果列表最後乙個元素的下界當下界,將
列表最後乙個元素和當前遍歷元素的上界中的最大者當上界。最後返回結果列表,**如下:
class
solution
:def
merge
(self, intervals: list[list[
int]])
-> list[list[
int]]:
res=
intervals.sort(
)for i in
range
(len
(intervals)):
ifnot res or res[-1
][-1
]< intervals[i][0
]:)else
: res[-1
]=[res[-1
][0]
,max
(intervals[i][-
1],res[-1
][-1
])]return res
提交後,通過。 Leetcode第五十題 Pow x, n
題目 實現 pow x,n 即計算 x 的 n 次冪函式。示例 1 輸入 2.00000,10 輸出 1024.00000 示例 2 輸入 2.10000,3 輸出 9.26100 示例 3 輸入 2.00000,2 輸出 0.25000 解釋 2 2 1 22 1 4 0.25 說明 100.0 ...
解題思路 leetcode第五十九題 螺旋矩陣
給定乙個正整數 n,生成乙個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。示例 輸入 3 輸出 1,2,3 8,9,4 7,6,5 解題思路 本題採用迴圈賦值的方法,其關鍵之處如何對提前建立的列表進行螺旋遍歷並賦值,本題通過設定兩個標誌位實現遍歷的過程中轉向,程式設定a,b,...
解題思路 leetcode第五十四題 螺旋矩陣
題目描述 給定乙個包含 m x n 個元素的矩陣 m 行,n 列 請按照順時針螺旋順序,返回矩陣中的所有元素。示例 1 輸入 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,...