这是一个新版本这个帖子 https://stackoverflow.com/questions/4990164/estimating-the-probability-of-3-people-sharing-a-birthday为了将编程问题与概率问题分开。
我想存储一些例如数组中随机生成 25 个 1 到 365 之间的数字。但我需要跟踪重复项。这就是我的想法:
在该过程结束时,我可以计算每个数组中的非空值,以了解我有多少个唯一数字,有多少个出现了两次等
这似乎不是一个非常有效的算法。有什么建议可以改进吗?
我建议的方法可以被认为是大 O(n) 即线性吗?
你为什么使用数组? HashMap 或其他映射结构似乎更有意义。我就是这样做的。
- 实例化一个新的、空的哈希图,从生日到整数
- 生成随机生日。
- 检查生日是否在哈希图中。如果不是,则添加值“1”。如果是的话,请在该生日时增加该值。
现在,您可以获取哈希图中键的数量生成的唯一日期的数量,以及有关值中重复项数量的任何信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)