632。最小的範圍涵蓋了k列表的元素
[2
您在
non-decreasing Order 中的k列表。查找範圍的
範圍,該範圍至少包含一個k列表中的一個數字。我們定義範圍[a,b]小於範圍[c,d]如果b -a
nums = [[4,10,15,24,26],[0,9,12,20],[5,18,22,30]]
[20,24]
解釋:
列表2:[0,9,12,20],20在範圍內[20,24]。
列表3:[5,18,22,30],22在範圍內[20,24]。
解決方案:
最大值跟踪:在當前窗口中跟踪最大值。這很重要,因為範圍是由最小元素(來自堆)和當前最大值之間的差異決定的。
解釋:
堆初始化 :o(n * log k),其中n是所有列表中元素的總數,k是列表的數量。複雜性來自從堆中插入和刪除元素。
[2
-10
non-decreasing order。
我們可以使用一個
迭代直到列表的結尾
初始堆包含每個列表中的第一個元素。我們還跟踪第一個元素之間的最大元素。
:o(k)用於在堆中存儲元素。
如果您發現此系列有幫助,請考慮在Github上給
如果您想要這樣的更多有用的內容,請隨時關注我:
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3