面试官问我,问题很简单,find the top 100 from 1 million integers (32-bits)
。
当我解决问题时,我想如果我put all the 1 million integers into the memory
,则会占用4 MB space
。
我的问题可能与面试问题无关,但现在是:
如果100万个整数存储在文件num.txt
中,还有更多,我想要read the all out
文件和put them in memory
(可能将它们存储在数组中),然后{ {1}}?
答案 0 :(得分:1)
如果扫描,你想在这个问题上做什么。 你想要一个数组,或者一个优先级队列,它可以容纳100个整数,只存储你看到的最大的100个。
您当时不希望将文件记录在一个页面中,可能使用mmap
之类的内容。
IO的数量将是1mio的大小。整数除以pagesize。