首页 > 解决方案 > 从平均值数组计算数组长度?

问题描述

我想只用一小部分信息来计算 The Array.Size() 。

我正在编写一个程序来分析不可读代码的结果,它会告诉用户数组的最可能大小是随机长度,并且基于这个大小,可以计算接收到精确元素的概率即时的。


有一个数组可能包含 1-10000 个元素,但该数组的确切长度或元素总数 Array.Size() 每次都是未知的。

每隔几秒就会出现一次“滚动”,roll() 方法会从该数组中挑选并显示 4 个随机元素,例如:

re, to, ha, pi

我现在知道数组中至少存在这 4 个元素。

我决定看元素[哈]

roll() 方法继续“滚动”,它继续选择然后随机显示 4 个元素。

我计算了[ha]再次出现需要多少“滚动”。并重复/记录该结果 10 次。

12、21、48、26、12、89、32、11、42、51

平均而言,[ha] 再次出现需要 34.4 次。

然后我选择一个新元素 [pi]

roll() 方法继续“滚动”,它继续选择然后随机显示 4 个元素。

我计算再次出现 [pi] 需要多少“滚动”。并记录结果 10 次。

2、6、75、53、23、12、22、12、34、11

平均而言,[ha] 再次出现需要 25 次。


解决此问题的一种方法是注意出现的每个新值。虽然这会很费时间。我最终可以准确地发现所有元素——然后简单地计算它们。我试图用更少的 roll() 用更少的时间做到这一点

标签: probability

解决方案


推荐阅读