为了账号安全,请及时绑定邮箱和手机立即绑定

实时数据流中查找前k个频繁词

实时数据流中查找前k个频繁词

慕工程0101907 2021-07-01 13:27:27
我正在尝试使用 java 树集解决算法问题。问题如下:Find top k frequent words in realtime data stream.Implement three methods for Topk Class:TopK(k). The constructor.add(word). Add a new word.topk(). Get the current top k frequent words.我的想法是使用哈希图来记住频率和树集作为缓冲区。我的实现通过了大部分情况,除了一个:TopK(10)add("aw")add("fb")add("fb")topk()答案应该是 [fb,aw] 但现在是 [fb,aw, fb] 但是,我的代码通过了测试用例,例如:    TopK(10)    add("iiiiii")    add("fb")    add("fb")    topk()和TopK(10)add("fb")add("fb")topk()我不知道出了什么问题,所以我在调用比较器时打印了一些值。它给了我这个: aw aw11111111fb aw33333333fb aw33333333fb aw222222222fb aw222222222这意味着,第二个“fb”与“aw”进行了两次比较,比较器就完成了。我花了几个小时来调试,到目前为止我什么也没发现。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信