今天去面试,面到了 TopN 问题,小弟我回答的挺溜的,但是面试官突然说 24 小时内 TopN 问题,我就迷茫了,无从下手。误差可以在 5 分钟内。
想知道大家是怎么解决的。
想知道大家是怎么解决的。
|
mxT52CRuqR6o5Feb 24, 2021
1
好像只能硬算吧,所以没法做到实时
|
|
2
5 分钟一个桶么
|
|
GGGG430Feb 24, 2021 via iPhone
3
redis 的 sorted set 行不
|
|
zjbztianyaFeb 24, 2021
4
slide window?
|
|
5
@zjbztianya 对,就是他的变形
|
|
xupefeiFeb 24, 2021 via iPhone
6
二楼说的对,桶排序之后全局提取 top N 。
|
|
JensenQiFeb 24, 2021
7
也有实时的方案,Misra-Gries 算法,这个是流式的算法
缺点是数据不够大 or 长尾不够显著的时候会有误差,但你都需要用这个算法了,数据量显然足够 |
|
ahillFeb 25, 2021
8
|
|
ahillFeb 25, 2021
9
|
|
oldmanongFeb 26, 2021 via iPhone
10
Flink 滑动窗口
|