天天看点

字节跳动历届笔试题(4)

为了不断优化推荐效果,今日头条每天要存储和处理海量数据。假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号相连的一批用户)中,有多少用户对这类文章喜好值为k。因为一些特殊的原因,不会出现一个查询的用户区间完全覆盖另一个查询的用户区间(不存在L1<=L2<=R2<=R1)。

示例1

思路:我的做法是采用离线处理查询,首先将所有查询按照区间左端点进行排序,并定义两个指针来进行尺取,对于每个当前查询,我们能够快速求出这个区间中存在的不同喜好值的数量,最后保存答案即可。