写 check:两位都是 1 才算"可能在"
补全 check:两个哈希位都是 1 才返回 可能在,否则返回 肯定不在。 查 15(它确实加过),输出结果。
⚠️ 亲眼看见一次误判
同一个 check。这次查 13——它从来没被加过。 但 13 的两个哈希位(5 和 7)正好被 15 置上了,于是过滤器会说它"可能在"。这就是误判。
要反复查区间和,还会改值
一个报表系统要反复查"某段时间的总额",数据还会随时更新,选【0】。
要挡住海量重复请求
爬虫要判断"这个网址抓过没有",几十亿条,允许极小误判,选【0】。
按需求挑一个
运行下面这段程序: PICK = {"区间和还会改": "树状数组", "海量去重可误判": "布隆过滤器", "磁盘
磁盘上的索引选什么
同一张对照表。运行下面这段程序: PICK = {"区间和还会改": "树状数组", "海量去重可误判": "布隆过滤器", &
写一个选型函数
补全 choose:按需求返回该用哪种结构。 四条对应关系:区间和还会改 → 树状数组;海量去重可误判 → 布隆过滤器;磁盘上少读盘 → B+树;有序且增删频繁 → 平衡树。 这次问的是「区间和还会改」。
需求变了,选型也要变
同一个 choose,这次问的是「有序且增删频繁」。
碰到没见过的需求别崩
同一个 choose:需求不在表里就返回 还得再想想,不能报错。 这次问一个表里没有的需求,输出结果。
一次给三条需求各选一个
同一个 choose。给下面三条需求各选一个结构,按顺序拼起来输出(用 / 隔开): 区间和还会改 海量去重可误判 磁盘上少读盘