區間合併 一些小思路

2021-10-09 00:16:59 字數 412 閱讀 4087

位元組跳動問的其中一道題,也是leecode中的一道。

下面是題目。

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

示例輸入: [[1,3],[2,6],[8,10],[15,18]]

輸出: [[1,6],[8,10],[15,18]]

解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合併為 [1,6].

我說了乙個基礎的思路就是遍歷比較,我想到了這個可能說亂序的,順便問了一下面試官,是亂序的。

然後,今天突然想到,為什麼計算機就總是要各種遍歷呢,數學往往都是乙個公式就是算出乙個精確的值。

可以先求每乙個區間的平均值,和寬度,把平均值從小到大排序,然後求相鄰的平均值之間的差 ,記為a(也就是距離),兩個平均值的寬度的1/2加起來,記做b ,然後比較。

一些小技巧

關注 乙個好的程式設計師不應該把所有的判斷交給編譯器和偵錯程式,應該在程式中自己加以程式保護和錯誤定位,具體措施包括 對於所有有返回值的函式,都應該檢查返回值,除非你確信這個函式呼叫絕對不會出錯,或者不關心它是否出錯。一些函式返回錯誤,需要用其他函式獲得錯誤的具體資訊。例如accept返回inval...

一些小技巧

protected void repparent itemdatabound object sender,system.web.ui.webcontrols.repeateritemeventargs e 在父datalist的itemdatabound事件裡面寫子datalist的資料來源 繫結 ...

一些小技巧

protected void repparent itemdatabound object sender,system.web.ui.webcontrols.repeateritemeventargs e 在父datalist的itemdatabound事件裡面寫子datalist的資料來源 繫結 ...