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

  接下來(lái)明確問(wèn)題、提出多個(gè)解決方法,最后對(duì)比每個(gè)方法的優(yōu)劣與使用場(chǎng)景。

  要求:

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

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

  

延伸閱讀

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