Programming Pearls第2章思路总结

来源:互联网 发布:win10 telnet 端口23 编辑:程序博客网 时间:2024/06/02 02:45

正文

问题一

给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。
答案见此博客
总结:时刻想着利用二分搜索来解决问题

问题二:循环旋转字符串

思路一:若要旋转k位,则每个字符向前(向后)移动k位。此方法只须n次操作,且仅需一个元素的额外空间,但此方法实际没比较慢,因为不能很好地利用cache。
思路二:问题可描述为把ab变为ba,可以把b分为blbr, br与a有相同的长度。交换a和br就将ablbr转换为brbla。brbl这部分是与原问题相同的较小规模的问题,递归进行。
思路三:利用翻手例子中的思路

问题三:变位词问题

此问题的思路类似于hash的思路

习题

第2题

答案没有看懂

第8题

这题利用快速排序的思想可以在O(n)时间内完成
原创粉丝点击