首页 > 代码库 > 算法学习启程三问题

算法学习启程三问题

A. 给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数(在文件夹中至少缺失一个这样的数-为什么?)。在具有足够内在的情况下,如何解决该问题?如果有几个外部的“临时”文件可用,但是仅有几百字节的内存,又该如何解决该问题?

 

B.将一个n元一维向量向左旋转i个位置。例如,当n=8且i=3时,向量abcdefgh旋转为defghabc,简单的代码使用一个n元的中间向量在n步内完成该工作。你能否仅使用数十个额外字节的存储空间,在正比于n的时间内完成向量的旋转。

 

C.给定一个英语字典,找出其中的所有变位词集合。例如,"pots","stop",和“tops" 互为变位词,因为每一个单词都可以通过改变其他单词中字母的顺序得到。