大数据量场景算法题学习指导

我希望大家通过这个系列,学到一些「算法思想」,而不是死记硬背哈,因为死记硬背没用,这种是比较开发的场景题,解法多种,无法就是时间与空间的权衡。

但是大家做过几道之后就会发现,其实思维无法就那么几种,比如采用 位算法 技巧啊,采用 分治 啊,采用 哈希 啊,等等。

也就是说,多看几道,掌握了这些思路,以后遇到这种类型的题,你都能扯上几句,并且你最好学以下两种算法:bitmap + 外部排序 + 布隆算法。

如果没有学过,可以先去学习一下,我这里也给出了一些学习链接:

什么是Bitmap算法?

BitMap算法基本操作代码实现

漫画:什么是外部排序?

什么是布隆算法

汇总

1. 如何判断一个数是否在40亿个整数中?

2. 如何在10亿数中找出前1000大的数

3. 如何在500w个单词中统计特定前缀的单词有多少个?

4. 如何找到字符串中的最长回文子串

5. 为什么要分稳定排序和非稳定排序?

6. 为什么MySQL数据库要用B+树存储索引?

7. 如何设计可自学习的五子棋AI?

8. 如何编程解决朋友圈问题?

9. 如何编程解决华容道问题?

10. 如何编程获得最多的年终红包奖?

11. 如何判断 URL 是否存在于有 100 亿个 URL 的黑名单中

12. 只用2GB内存在20亿个整数中找到出现次数最多的数

13. 如何在 40 亿个非负整数中找到未出现的数

14. 如何找到 100 亿个 URL 中重复的 URL,及词汇的 Top 100 问题

15. 如何在 40 亿个非负整数中找到出现两次的数和所有数的中位数

16. 一致性哈希算法

发表回复

后才能评论