我是论坛的新手,但我已经阅读了指南并检查了重复项(这是我找到的最接近的:(如何在词流中找到最常见的词?)但这会搜索出现超过 51% 的数字时间。如果它已经存在,请给我指出一个副本。
所以我的问题是给定一个数字流,找到最常出现的数字。例如:2,3,4,2,5:Ans = 2。这很简单,但如果我可以删除和添加新数字会发生什么。示例:2,3,5,3,4,2,2:Max = 2 Delete(2):Max = 2;删除(2):最大 = 3 ...
我想到了一个最大堆以及一个包含指向堆中每个节点的指针的哈希表,因此更新为 O(log n),找到最大值为 O(1)。有更好的解决方案吗?