【发布时间】:2010-09-16 19:08:15
【问题描述】:
我想生成介于 0 和 1000 之间且永不重复的唯一随机数(即 6 不会出现两次),但这不会诉诸于对先前值进行 O(N) 搜索之类的事情它。这可能吗?
【问题讨论】:
-
这和stackoverflow.com/questions/158716/…不是同一个问题
-
0 是否介于 0 和 1000 之间?
-
如果您在一定时间内禁止任何事情(例如时间或记忆中的
O(n)),那么下面的许多答案都是错误的,包括已接受的答案。 -
你会如何洗牌?
-
警告! 下面给出的许多答案都不会产生真正随机的序列,比 O(n) 慢或有其他缺陷! codinghorror.com/blog/archives/001015.html 是您在使用其中任何一个或尝试自己编造之前的必备读物!
标签: algorithm math random language-agnostic