程式設計訓練第五十期 合併區間

2021-10-22 14:10:35 字數 544 閱讀 6885

以陣列 intervals 表示若干個區間的集合,其中單個區間為 intervals[i] = [starti, endi] 。請你合併所有重疊的區間,並返回乙個不重疊的區間陣列,該陣列需恰好覆蓋輸入中的所有區間。

1.排序+雙指標

如果我們按照區間的左端點排序,那麼在排完序的列表中,可以合併的區間一定是連續的。我們按順序依次考慮排完序的每個區間,如果當前區間的右端點比後乙個區間左端點大,則說明它們重合,需要合併,合併後的左端點即為當前區間的左端點,合併後的右端點是二者右端點的較大值。反之,它們不會重合,我們可以直接將這個區間加入結果陣列中。

時間複雜度o(nlogn),除去排序的開銷,我們只需要一次線性掃瞄,所以主要的時間開銷是排序的 o(nlogn)。

空間複雜度o(logn),這裡計算的是儲存答案之外,使用的額外空間。

class

solution

res.

push_back()

; i = j;

}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 ...

《道德經》第五十章

出生入死。生之徒,十有三 死之徒,十有三 人之生,動之於 死地,亦十有三。夫何故?以其生之厚。蓋聞善攝生者,路行不遇兕虎,入軍不被 甲兵 兕無所投其角,虎無所用其爪,兵無所容其刃。夫何故?以其 無死地。易解 出離維生之道就入於速死之途。人世間,屬於長壽的,佔十分之三 屬於短命的,佔十分之三 因為行舉...

python學習第五十天shutil模組的用法

什麼shutil模組,就是對高階的檔案,資料夾,壓縮包進行處理的模組,下面簡單講述其用法。檔案和資料夾的操作 拷貝檔案內容 import shutil shutil.copyfileobj open old.xml r open new.xml w 拷貝檔案 shutil.copyfile src,...