
Coding Interview Guide
wkays
这个作者很懒,什么都没留下…
展开
-
《Coding Interview Guide》P330:认识布隆过滤器
题目:不安全网页的黑名单包含100亿个黑名单网页,每个网页的URL最多占用64B。现在想要实现一个网页过滤系统,利用该系统可以根据网页是否在黑名单上,请设计该系统。 要求: 1.该系统允许有万分之一以下的判断失误率。 2.使用的额外空间不要超过30GB。 ...原创 2019-05-25 21:20:53 · 174 阅读 · 0 评论 -
《Coding Interview Guide》P335:只用2GB内存在20亿个整数中找到出现次数最多的数
题目:有一个包含20亿个全是32位整数的大文件,在其中找到出现次数最多的数。 要求: 1.内存限制为2GB。原创 2019-05-25 21:26:16 · 213 阅读 · 0 评论 -
《Coding Interview Guide》P336:40亿个非负整数中找到未出现的数
题目:32位无符号整数的范围是0 - 4294967295,现在有一个正好包含40亿个无符号整数的文件,所以在整个范围中必然有没出现过的数。可以使用最多1GB的内存,怎么找到所有没出现过的数? 进阶:如果将上题的内存空间限制改为10MB,但是只用找到一个没出现过的数即可。 ...原创 2019-05-26 10:28:04 · 181 阅读 · 0 评论 -
《Coding Interview Guide》P337:找到100亿个URL中重复的URL及搜索词汇的Top K问题
题目:有一个包含100亿个URL的文件,假设每个URL占用64B,请找出其中所有重复的URL。 补充问题:某搜索公司一天的用户搜索词汇是海量的(百亿数据量),请设计一种求出每天热门 Top100 词汇的可行办法。 ...原创 2019-05-26 10:35:59 · 515 阅读 · 0 评论 -
《Coding Interview Guide》P338:40亿个非负整数中找到出现两次的数和所有数的中位数
题目:32位无符号整数的范围是0~4 294 967 295,现在有40亿个无符号整数,可以使用最多1GB的内存,找出所有出现了两次的数。 补充问题:可以使用最多10MB 的内存,怎么找到这40亿个整数的中位数? ...原创 2019-05-26 10:42:49 · 241 阅读 · 0 评论 -
《Coding Interview Guide》P339:一致性哈希算法的基本原理
题目: 工程师常用服务器集群来设计和实现数据缓存,以下是常见的策略。 1.无论是添加、查询还是删除数据,都先将数据的 id 通过哈希函数转换成一个哈希值,记为 key。 2. 如果目前机器有 N 台,则计算 key%N 的值,这个值就是该数据所属的机器编号,无论是添加、删除还是查询操作,都只在这台机器上进行。 请分析这种缓存策略可能带来的问题,并提出改进的方案。 ...原创 2019-05-26 10:51:29 · 168 阅读 · 0 评论 -
删除无序单链表中值重复出现的节点
题目:给定一个无序单链表的头结点head,删除其中值重复出现的节点。 例如:1->2->3->3->4->4->2->1->1->null,删除重复的节点之后为1->2->3->4->null。 思路: 利用哈希表。时间复杂度为O(n),额外空间复杂度为O(n)。 头节点是直接放入HashSet中的,因为肯定不重复。 当...原创 2019-05-26 20:33:39 · 715 阅读 · 1 评论 -
两个单链表生成相加链表
原始题目: You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and re...原创 2019-05-27 21:16:02 · 497 阅读 · 0 评论