【发布时间】:2017-07-31 06:05:57
【问题描述】:
我在我的 python 代码中使用随机生成器。我想获得从随机(0:10 ^ 8)这样的巨大范围内生成的唯一随机数的百分比。我需要生成10 ^ 12个数字就空间复杂度而言,有效的算法是什么? 代码类似于:
import random
dif = {}
for i in range(0,1000):
rannum = random.randint(0,50)
dif[rannum] = "True"
dif_len = len(dif)
print dif_len
per = float(dif_len)/50
print per
【问题讨论】:
-
独特还是与众不同?在 { 1,2,1,3 } 的集合中,有 3 个不同的项目 (1,2,3) 和 2 个唯一(非重复)项目(2 和 3)?
-
@AkiSuihkonen : 我想对不同的数字进行操作
-
使用位数组。您的范围需要 12.5MB。
标签: algorithm python-2.7 random