Given a stream of data points (*), find the p50 and p95.
[** **** * *** ****** **********]
p50 = ****
p95 = ******
这道题考察的是对数据流实时计算百分位数(P50、P95)的能力。核心思路是不要把所有数据都完整保存后再排序,而是使用适合流式场景的数据结构来维护中位数和高百分位统计,例如双堆、平衡树,或支持近似分位数的在线算法。面试中通常会进一步讨论如何在高吞吐、低内存条件下更新统计值,以及如何处理重复值、动态插入和查询延迟等问题。
正文完