我正在尝试使用 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”进行了两次比较,比较器就完成了。我花了几个小时来调试,到目前为止我什么也没发现。
添加回答
举报
0/150
提交
取消