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