gpt4 book ai didi

java - 在无尽的流中保持和最大频率的数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:08 26 4
gpt4 key购买 nike

给定无穷无尽数字流 (BigInteger) 如何检测和存储具有前 N 次出现(频率)的数字?

内存有限(无法按数字存储计数器)。

编辑:

频率值不能超过long的大小

最佳答案

在您拥有所有(或大部分)数据之前,无法确定前 N 次出现

您可以通过计算它们出现的频率并按次数对它们进行排序来确定到目前为止的 N 次出现。如果您不能存储太多,这可能是个问题,在这种情况下,您必须决定要做出哪些妥协以节省空间。

我假设 long 不够大。您统计的是什么类型的数据?


演示您面临的问题的一个简单示例。

假设您无穷无尽的帐户 ID 都不同。这意味着记录前 N 个的唯一方法是将它们全部记录下来。没有捷径,就没有其他可能的解决方案。

注意:您真正想要的很可能是一个衰减的平均值,这样如果某个用户已经出现了一段时间,您就想减轻他们的权重。您不希望顶级用户成为不再活跃的用户。

关于java - 在无尽的流中保持和最大频率的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12933449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com