因为我面试和算法有关的工作
有一题是这样的
请用复杂度 O(n)以下
解连续做出n个不重复随机数
先不考虑随机数本身内的机制的话
请问要怎么做才能让复杂度在O(n)以下
作者:
meowyih (meowyih)
2015-10-08 20:03:00利用hash,做出n个只装了1个数字的hash entry
作者:
meowyih (meowyih)
2015-10-08 20:04:00举例来说,最简单的hash就是余数的%,每次将产生出来的数字%n,把已经产生过的相同余数的删掉就是了 XD
作者:
gensim (...)
2015-10-08 20:08:00作者: supertitler (新的开始) 2015-10-08 21:16:00
直接从篮子拿
作者:
meowyih (meowyih)
2015-10-08 21:28:00不过说真的,这题离 "有趣" 还挺远的,我从没做过这题,也只花了十秒就有想法了,好像不是什么需要想很久的题目
作者: chubiei (:)) 2015-10-09 00:42:00
这是问random_shuffle吧
作者:
noah538 (星)
2015-10-09 10:17:00这题用硬件观念做很简单说观念直接用套上卵体就解了
随便生个随机数列{n_i},然后输出n_1,n_1+n_2,...