我只想用一小部分信息来计算Array.Size()。
我正在编写一个程序,该程序分析不可读代码的结果,该程序将告诉用户数组的最大可能大小,该大小是随机长度,并基于此大小,可以计算出接收到实时准确的元素。
有一个可能包含1-10000个元素的数组,但是每次都不知道该数组的确切长度或元素总数Array.Size()。
每隔几秒钟就会有一个“滚动”,roll()方法会选择该字符串,然后显示该数组中的4个随机元素,例如:
re,to,ha,pi
我现在知道数组中至少存在这4个元素。
我决定观看元素[ha]
roll()方法继续“滚动”,继续选择然后随机显示4个元素。
我计算了[ha]再次出现多少次“滚动”。并将结果重复/记录10次。
12、21、48、26、12、89、32、11、42、51
平均来说,[ha]出现需要34.4次。
然后我选择一个新元素[pi]
roll()方法继续“滚动”,继续选择然后随机显示4个元素。
我计算π再次出现需要多少“滚动”。并记录结果十次。
2,6,75,53,23,12,22,12,34,11
平均来说,[ha]出现需要25次。
解决此问题的一种方法是注意到出现的每个新值。尽管这会很费时间。我最终可以准确地发现所有元素-然后只需对它们进行计数即可。我试图用更少的roll()来减少时间