最近 24 小时热门数据 TopN 算法有啥好的方案吗?

2021-02-24 20:59:57 +08:00
 GTim
今天去面试,面到了 TopN 问题,小弟我回答的挺溜的,但是面试官突然说 24 小时内 TopN 问题,我就迷茫了,无从下手。误差可以在 5 分钟内。

想知道大家是怎么解决的。
2525 次点击
所在节点    职场话题
10 条回复
mxT52CRuqR6o5
2021-02-24 21:15:10 +08:00
好像只能硬算吧,所以没法做到实时
sizhitu
2021-02-24 21:22:52 +08:00
5 分钟一个桶么
GGGG430
2021-02-24 21:39:08 +08:00
redis 的 sorted set 行不
zjbztianya
2021-02-24 22:06:35 +08:00
slide window?
GTim
2021-02-24 22:19:04 +08:00
@zjbztianya 对,就是他的变形
xupefei
2021-02-24 22:33:52 +08:00
二楼说的对,桶排序之后全局提取 top N 。
suiterchik
2021-02-24 22:39:03 +08:00
也有实时的方案,Misra-Gries 算法,这个是流式的算法
缺点是数据不够大 or 长尾不够显著的时候会有误差,但你都需要用这个算法了,数据量显然足够
ahill
2021-02-25 14:19:29 +08:00
ahill
2021-02-25 15:24:21 +08:00
oldmanong
2021-02-26 07:49:02 +08:00
Flink 滑动窗口

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/755971

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX