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 个数据。

Mediumalgorithmsdata-structures

想查看完整答案?

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

前往学习中心查看答案