因為我面試和演算法有關的工作
有一題是這樣的
請用複雜度 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,...