可能重复:
Algorithm to select a single, random combination of values?
这是我在网上看到的一个采访问题。
你有十亿个数字,实现getRandom()返回一个 来自他们的随机数。
Constaints: 1.没有重复的返回值。 2. getRandom()最多可被调用1亿次。 然后优化空间。
这个解决方案怎么样,哪些更好?
随机播放数字数组。保持计数器从0开始。每次用户调用getRandom时,返回计数器索引处的值。增加柜台。
答案 0 :(得分:-1)
让我们假设你有一个随机函数以相同的概率返回1
或0
。
您可以调用此函数32
次,以获得0
到2^(32)-1
之间的随机数。
您可以调用此函数64
次,以获得0
到2^(64)-1
之间的随机数。