logo

上千万或上亿数据(有重复),统计其中出现次数最多的前 N 个数据。

Given tens or hundreds of millions of data items (with duplicates), how do you find the top N items with the highest frequency?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: TopK, Big Data

标签: TopN, HashMap, Heap

参考答案摘要

核心思路 当数据规模达到上千万或上亿时,现代机器的内存通常可以容纳统计结构,因此可以直接在内存中完成统计。 使用 hash_map 、搜索二叉树或红黑树来统计每个数据出现的次数。 统计完成后,取出出现次数最多的前 N 个数据。 可以使用小根堆(堆大小为 N)来维护当前出现次数最多的 N 个元素。

答题技巧

技术面试题建议先理清思路再作答,从基础概念讲起,逐步深入。可以结合实际项目经验解释技术原理,展示你的理解深度和实践能力。

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案、收藏题目并进行模拟面试练习。

← 返回面试题库

上千万或上亿数据(有重复),统计其中出现次数最多的前 N 个数据。

中等algorithmsdata-structures

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案