刚面的狗家电面。
给一个信息流,从中读取数据,如果10秒以内相同的数据没有出现,将之输出,否则不要输出。
Eg [“foo”,“foo”,“foo”,“foo”], 每个"foo"5秒一次
输出[“foo”,“foo”]
lz 用map给了一个n square 的解法
follow up1:
你的code如果用在Google的critical数据流有什么问题?如何改善
其实就是map会一直存数据,删掉太老的改善space complexity.
follow up2:
O(n)解法
电话没有口音,小哥人还是很好的,一直在给提示。lz太迟钝了,小哥给提示了有时都没反应过来。求一个onsite。
补充内容 (2018-11-16 04:36):
有同学没看懂题目,怪lz没解释清楚。
输入的数据流是实时的。这个例子里第一个foo出现在第0秒,第二个foo出现在第5秒,第二个距第一个5秒,所以不输出,第三个出现在10秒,距离上一个输出已经过去了10秒,输出. etc
补充内容 (2018-11-16 12:44):
不好意思lz刚刚有点迷糊。是第二问的时间n square,第一问就简单地用map, O(N)