有没有办法在恒定时间内生成唯一的随机数?我目前正在使用一个包含我所有可能的数字的数组列表。它实现了 Collection,我在这个 arrayList 上调用了 shuffle 方法。然后我从 arrayList 中删除第 0 个元素以获得唯一的随机数,但我相信这不能是恒定的时间,原因有两个:
- 删除方法是 O(n)
- Collection.shuffle 是 O(n)
建议?谢谢!
有没有办法在恒定时间内生成唯一的随机数?我目前正在使用一个包含我所有可能的数字的数组列表。它实现了 Collection,我在这个 arrayList 上调用了 shuffle 方法。然后我从 arrayList 中删除第 0 个元素以获得唯一的随机数,但我相信这不能是恒定的时间,原因有两个:
建议?谢谢!