您有排序整數k
列表。找到包含每個k
列表中至少一個數字的最小範圍。最小範圍列出
例如,
List 1: [4, 10, 13, 14]
List 2: [0, 9, 15, 18]
List 3: [5, 18, 22, 30]
這裏最小的範圍將是[14, 18]
,因爲它包含14
從list 1
,15
從list 2
,並且從list 3
18
。
MY的做法是:
- 只需使用一個MinHeap和從
K
列表 - 插入所述第一元件中取出最小元素,並從相應的列表中添加的下一個元素
- 同時跟蹤最大和最小值,以便我們可以計算最小範圍
但唯一的問題我面對的是:假設對於一個列表,我應該在那裏完成還是不應該繼續?
當您從Heap中取最小元素並且相應列表爲空時,您應該停止。 –
這種方法如何 1)收集每個列表的開始和結束點。 2)根據其起始點排序 3)遍歷排序對 考慮重疊和非重疊對的情況並找到最小間隔 如果此方法錯誤,請糾正我的錯誤。 – Chandan
抱歉抱歉,我沒有仔細看到問題,我們也要照顧到個人元素。 – Chandan