天天看點

牛客_線段重合問題

題目連結

首先得到線段的最大值和最小值

最大值和最小值按機關1等分,看每條線覆寫了多少,抓一下全局max

時間複雜度 O((max-min)*N):

準備小根堆(之是以設定為堆,是因為要處理重複值,如果有序表的話,就無法接受重複值)

周遊每一個線段,得到其開始位置L和結束位置R,規則是:

0. 每個線段按開始位置L從小到大排序。

如果堆為空,線段結束位置R進入堆。

堆不為空,則周遊到線段L位置和堆頂元素(假設為M)比較,如果堆頂元素小于L,則結算一次堆中元素大小,記為size,然後彈出堆頂元素,直到堆頂元素小于L,然後把L加入

每次生成的size取最大值即為最大重合了幾個線段

算法和資料結構筆記

程式員代碼面試指南(第2版)

算法和資料結構基礎班-左程雲

極客時間-資料結構與算法之美-王争

算法(第四版)

繼續閱讀