本节书摘来自异步社区《编程珠玑(第2版•修订版)》一书中的第1章1.2节准确的问题描述,作者【美】Jon Bentley,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.2 准确的问题描述
对程序员来说,这些需求加起来就是:“如何给磁盘文件排序?”在试图解决这个问题之前,先将已知条件组织成一种更客观、更易用的形式。
输入:一个最多包含n个正整数的文件,每个数都小于n,其中n=107。如果在输入文件中有任何整数重复出现就是致命错误。没有其他数据与该整数相关联。
输出:按升序排列的输入整数的列表。
约束:最多有(大约)1 MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多几分钟,运行时间为10秒就不需要进一步优化了。
请花上一分钟思考一下该问题的规范说明。现在你打算给程序员什么样的建议呢?