大意是:30万员工里随机抽奖找10万员工,现在只有一个能生成(0,65535)之间的数的随机生成器,问要如何完成抽奖?
友友们有思路吗,和面试官讨论了一个小时,关键是他最后给出的答案我也不认可。。。他也不认可我的想法,就很离谱
我的想法:把30万数组分成0~65535一组的5组,两个rand,一个决定组数,一个决定组中的序号
面试官想法:两个rand的值直接相乘,这样值域在(0,2^32)之间,然后就能抽奖了?(我好懵逼,首先乘法之后就不是均匀分布,其次这么大的值域也远超过30万个数字)
全部评论
(7) 回帖