0

算法挑战:

问题陈述:您将如何为 Google 之类的东西设计日志系统,您应该能够查询在两个时间范围内打开 URL 的次数。

i/p : start_time , end_time , URL1 o/p : URL1 在开始和结束时间之间打开的次数。

一些规范: 数据库不是最佳解决方案 对于给定的时间戳,可能已多次打开 URL。一个 URL 可能在两个时间戳内被打开了很多次。start_time 和 end_time 可以相隔一个月。时间可以精确到一秒。

4

1 回答 1

0

一种解决方案:

哈希的哈希

键值 URL 哈希----> T1 CumFrequency

例如:

Amazon Hash--> T CumFreq 11 00 am 3(上午 11:00 开 3 次) 11 15 am 4(上午 11:15 开 1 次,cumfreq 为 3+1=4) 11 30 am 11(开 4时间在上午 11:30 时,cumfreq 为 3+4+4=11) i/p : 11:10 am , 11 : 37 am , Amazon

可以通过减去最后一个时间戳小于 11:10 即上午 11:00 和最后一个活动时间戳小于上午 11:37 即上午 11:30 来获得操作。因此结果是 11-3 = 8 ....

我们能做得更好吗?

于 2013-02-12T01:49:21.753 回答