摘要:
题目描述: 在 2.5 亿个整数中判断一个数是否存在。注意:内存不足以容纳这 2.5 亿个整数。 分析与解答: 显然 2.5 亿数据量太大,不可能一次性把所有的数据都加载到内存中,那么最容易想到的方法就是分治法。 方法一:分治法 对于大数据相关的算法题,分治法是一个非常好的方法。针对这道题,主要的思 阅读全文
posted @ 2020-06-10 20:48
橙宝技术
阅读(1318)
评论(0)
推荐(0)
摘要:
题目描述: 在 2.5 亿个整数中找出不重复的整数。注意:内存不足以容纳这 2.5 亿个整数。 分析与解答: 由于这道题目与前面的题目类似,也是无法一次性把所有数据加载到内存中,因此也可以采用类似的方法求解。 方法一:分治法 采用 hash 函数的方法,把这 2.5 亿个整数划分到更小的文件中,从而 阅读全文
posted @ 2020-06-10 20:35
橙宝技术
阅读(589)
评论(0)
推荐(0)
摘要:
题目描述: 现有海量日志数据保存在一个超级大的文件中,该文件无法直接读入内存,要求从中提取某天访问百度次数最多的那个 IP。 分析与解答: 由于这道题只关心某一天访问百度最多的 IP,因此可以先对文件进行一次遍历,把这一天访问百度网站的 IP 的相关信息记录到一个单独的文件中。接下来可以用上一节介绍 阅读全文
posted @ 2020-06-10 16:13
橙宝技术
阅读(290)
评论(0)
推荐(0)
摘要:
题目描述: 假设排列着 100 个乒乓球,由两个人轮流拿球装入口袋,能拿到第 100 个乒乓球的人为胜利者。条件是:每次拿球者至少要拿 1 个,但最多不能超过 5 个。问:如果你是最先拿球的人,那么你该拿几个?以后怎么拿就能保证你能得到第 100 个乒乓球? 分析与解答: 拿出 4 个,然后按照 6 阅读全文
posted @ 2020-06-10 10:18
橙宝技术
阅读(494)
评论(0)
推荐(0)
摘要:
题目描述: 有一个 1GB 大小的文件,文件里面每一行是一个词,每个词的大小不超过 16B,内存大小限制是 1MB,要求返回频数最高的 100 个词。 分析与解答: 由于文件大小为 1GB,而内存大小只有 1MB,因此不可能一次把所有的词读入到内存中处理,需要采用分治的方法,把一个大的文件分解成多个 阅读全文
posted @ 2020-06-10 09:56
橙宝技术
阅读(2215)
评论(0)
推荐(0)

浙公网安备 33010602011771号