擅长:python、mysql、java
<p>面试官希望你回答一些关键问题,比如:如果你不能在内存中加载数组,那么<code>how much I can load</code>。解决问题的步骤如下:</p>
<ol>
<li>您需要将数组除以可用内存量。在</li>
<li>假设你一次可以加载1M号码。您已经在<code>k parts</code>中拆分了数据。加载第一个1M并构建它的<code>Min Heap</code>。然后移除顶部并对<code>Min Heap</code>应用Heapify。在</li>
<li>对数据的其他部分重复相同的操作。在</li>
<li>现在您将有K个排序的拆分。在</li>
<li>现在从每个K拆分中获取第一个数字,然后再次构建一个<code>Min Heap</code>。在</li>
<li>现在从<code>Min Heap</code>中删除顶部,并将值存储在<code>temporary variable</code>中,以便与下一个数字进行比较,以找到重复项。在</li>
<li>现在从上次删除编号的同一拆分(部件)中获取下一个编号。将该数字放在<code>Min Heap</code>的顶部并应用Heapify。在</li>
<li>现在,<code>Min Heap</code>的顶部是下一个排序的数字,并将其与<code>temporary variable for finding the duplicates. Update the</code>临时变量“if number不重复”进行比较。在</li>
</ol>