面试官最爱问的 TopK,为什么一半人都会写崩?
很多人第一次刷到「前 K 个高频元素(Top K Frequent Elements)」时,都会觉得:
这题不就是统计一下次数,然后排序?
结果真正一写:
- 时间复杂度爆了
- 堆写反了
- Counter 用不明白
- 桶排序直接懵
- 海量数据场景彻底不会
更扎心的是:
你以为这是一道“LeetCode 水题”。
实际上,它背后藏着的是:
- 推荐系统
- 搜索引擎
- 热点统计
- 用户画像
- AI 特征工程
甚至很多大厂日志系统,本质上都在做 TopK。
所以今天咱不只是讲“怎么做题”。
而是聊聊:
为什么 TopK 会成为算法世界里的“流量密码”。
一、为什么 TopK 到处都是?
先别急着上代码。
先想个问题。
假设你是短视频平台。
一天几亿条行为数据:
- 谁点赞了
- 谁转发了
- 谁评论了
- 哪个视频最火
老板突然问:
“现在最热门的 10 个视频