【发布时间】:2015-11-28 14:49:11
【问题描述】:
不是一个新问题,但它只针对 c/c++ 。
For ex- range[1...10] exclude_set [2,5,7,9]
自定义 rand 函数应该以相等的概率返回剩余的数字。
我试过的是-
1) 通过 rand() %10 函数生成数字。
2) 检查 exclude_Set 中是否存在值。如果存在则在循环中再次调用 rand()
面试官说它的蛮力方法。我很好奇c/c++有什么好的算法
Java/C#/PHP on SO 上的问题已经得到解答
How can I generate a random number within a range but exclude some?
How to get a random value from 1~N but excluding several specific values in PHP?
How to get a random number from a range, excluding some values
PS- 我已经尝试过谷歌搜索。甚至 Bing
【问题讨论】:
-
C/C++ 不是一门语言,请选择一个!
-
@πάνταῥεῖ 好吧,在 C 中说吧。我更专注于算法。
-
我不知道为什么对这个问题投反对票??
-
如果您只是对算法感兴趣,请删除语言标签。
-
Shan, @NathanOliver:抱歉,我忽略了这一点。