等概率不重復(fù)的生成隨機數(shù)應(yīng)該是在平時開發(fā)中常見的,也是面試中常問的基礎(chǔ)之一。有多種實現(xiàn)方式,有人人都可以想到的,也有不容易想到的巧妙算法,那么當有人問你哪個實現(xiàn)方式更好的時候你該怎么回答呢?回答巧妙的算法比普通算法好?答案顯而易見,首先要搞清楚應(yīng)用場景和要解決的問題。這樣才能判斷一個算法或者方案的合適與否。

  接下來明確問題、提出多個解決方法,最后對比每個方法的優(yōu)劣與使用場景。

  要求:

  可能有些具體的場景和問題需求都不一樣,可以統(tǒng)一:在一定范圍內(nèi)等概率不重復(fù)的生成有限個隨機數(shù)。具體的可以定義為,在[m,n]之間等概率的生成k個不相同的隨機數(shù)。

   設(shè)計與實現(xiàn):

  

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式