J'ai été demandé par un intervieweur, la question est simple, find the top 100 from 1 million integers (32-bits)
. Lorsque j'ai résolu la question, j'ai pensé que si je put all the 1 million integers into the memory
, cela prendrait 4 MB space
.confusion au sujet du fichier I/O
Ma question n'a probablement rien à voir avec la question de l'entrevue, mais la voici:
si les 1 million entiers sont Stockés dans un fichier num.txt
, et encore plus, je veux read the all out
du fichier et put them in memory
(les stocker dans un tableau probablement), puis how many IO will it take
?
En fait monsieur, il y a un max de 3,8 mégaoctets à un max. À moins que chaque nombre entier utilise toutes les 32 décimales, vous allez probablement obtenir quelque chose de beaucoup plus petit. Droite? En supposant que la moitié des millions de chiffres sont seulement 16 longs obtient seulement 2,86222295 mégaoctets. – FreeSnow
@DadeLamkins, oui, vous avez raison, mais ce que je veux savoir, c'est combien d'IO devrait-il prendre si je veux lire tous les entiers de 32 bits du fichier. – Alcott