解題思路 leetcode第五十六題 合併區間

2021-10-08 12:07:37 字數 939 閱讀 8222

給出乙個區間的集合,請合併所有重疊的區間。

示例 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,...