【发布时间】:2013-07-12 17:50:11
【问题描述】:
如何生成在(1,n) 范围内但不在特定列表(i,j) 中的随机数?
示例:范围为(1,500),列表为[1,3,4,45,199,212,344]。
注意:列表可能没有排序
【问题讨论】:
-
我假设您希望它高效而不是只生成数字直到它不在您的列表中?
-
“列表可能未排序”——我正在阅读此“未排序”而不是“您可能未对列表进行排序”。指定可能的实现语言可能会有所帮助。 Python 和 C++ 设置了有用的功能,例如
-
如果 n 很小,您可以创建一个元素列表,例如,数组将是 {2,5,6,7..44,46,..500} (您明白了),然后在您的示例中生成一个随机索引,如 rand(493) 。并从 array[rand(493)] 中获取元素。