完美洗牌演算法

2022-10-09 19:12:05 字數 493 閱讀 6867

完美洗牌就是將一副牌平均分成兩份(26張)來交錯洗牌,如此迴圈反覆一定次數後,又變回洗牌前的順序了。 即:a_1,a_2........a_n,b_1,b_2.........b_n的序列變為b_1,a_1,b_2,a_2.......b_n,a_n 我知道這**很shi,只是拋磚,向各位高人請教更好的演算法,謝謝

完美洗牌就是將一副牌平均分成兩份(26張)來交錯洗牌,如此迴圈反覆一定次數後,又變回洗牌前的順序了。

即:a_1,a_2........a_n,b_1,b_2.........b_n的序列變為 b_1,a_1,b_2,a_2.......b_n,a_n

我知道這**很shi,只是拋磚,向各位高人請教更好的演算法,謝謝!

無》//完美洗牌

//$time為洗牌次數

function pshuffle($time = 8){

$num = 52;

$res = $data = range(1,$num);

for($j=0;$j

完美洗牌演算法

原文 完美洗牌問題 給定乙個陣列a1,a2,a3,an,b1,b2,b3.bn,把它最終設定為b1,a1,b2,a2,bn,an這樣的。分析 首先,有的問題要求把它換成a1,b1,a2,b2,an,bn。其實也差不多。我們可以 迴圈n次交換a1,b1,a2,b2,把陣列變為b1,b2.bn,a1,a...

完美洗牌演算法

沒把空間複雜度o 1 的搬過來 問題描述 有乙個長度為2n的陣列,希望排序後變成,請考慮有沒有時間複雜度為o n 而空間複雜度為o 1 的解法。string a string temp new string len for int i 1 i len i temp 2 i len a i 經過上面處...

完美洗牌 洗牌

完美洗牌問題,給定乙個陣列a1,a2,a3,an,b1,b2,b3.bn,把它最終設定為b1,a1,b2,a2,bn,an這樣的。o n 的演算法,o n 的空間。對於前n個數,對映為f i 2 i 1,0 i n 2 比如0 1,1 3 對於後n個數,對映為f i 2 i n 2 n 2 i n ...