今天因為球隊要辦比賽
隊長要搞賽程表
懶得抽籤所以就叫我寫個程式

8組數字,拆成兩兩不重複4組數字
ex:1,3:2,5:7,4:6,8

於是乎,我很天真的就想到

一直產生亂數,之後再檢查跟之前有沒有重複就好啦

沒有想到這樣做的效率差到極點
連我的四核,都一度慢到我以為是無窮迴圈當掉
我勒,之後有想另一個辦法
一定快,但是懶得搞

就是列出所有組合,亂數選一個...

最後還是上網拜見google大神
看到了csdn有相關問題的強者留言
方法大不同

他是先將陣列填滿一樣長度數字
ex:{1,2,3,4,5,6,7,8}
然後作一萬次的隨機對調位置


果然很好很強大
超快的,code又少
換個角度想,差這麼多
以後寫程式真的要認真規劃,免得之後走冤枉路

arrow
arrow
    全站熱搜

    LB.Yu 發表在 痞客邦 留言(1) 人氣()