Re: [問題] 1-42取出6+1個數字

看板java作者 (肉元)時間19年前 (2006/07/13 12:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/21 (看更多)
※ 引述《infinitlee (Infinity)》之銘言: : 你可以用vector 之類的容器,把random 出來的值丟進去, : 下次在抓的時候用equals() 方式判斷,如果為true 就再重新抓.. : 用各do{..}while()迴圈包起來..不重複加1,直到抓滿你要的數量 : 也許這種方式不是很好.. 但是應該可以幫你解決問題 如果用了vector 我建議不如當初42個數字就存進vector裡面(O(n)) 接著就for loop run 7次, 每次都random一個index(random的範圍要一次縮小1), 依照此index去vector取值 取完後便把vector[index]remove掉(這就是為什麼random的範圍會一次少1) 如此你怎麼樣也不會取到相同的數字 你甚至可以random vector裡面存的1~42的順序 不過我覺得應該沒必要 最後記得要用garbage collection ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.106.130
文章代碼(AID): #14jSdQjG (java)
討論串 (同標題文章)
文章代碼(AID): #14jSdQjG (java)