中等
技术面试0 次浏览

美团到店业务中,需要对商家的评价数据进行分析,找出好评率最高的前 10 个商家。已知评价数据包含商家 ID、评价分数(0 - 5 分)和评价数量。请设计一个算法来完成此任务。

美团算法工程师
算法设计数据处理美团到店

答题要点

使用优先队列(堆)来解决此问题,答题框架采用算法设计流程。关键要点如下:1. 计算每个商家的好评率,好评率可以通过评价分数和评价数量来计算。2. 构建一个大小为 10 的最小堆,用于存储好评率最高的 10 个商家。3. 遍历所有商家,将每个商家的好评率与堆顶元素比较,如果大于堆顶元素,则替换堆顶元素并调整堆。4. 最后堆中存储的就是好评率最高的 10 个商家。示例话术:我会先计算每个商家的好评率,然后构建一个最小堆,遍历商家数据,不断更新堆,最后堆里的就是前 10 个好评率最高的商家。