完美洗牌演算法

2021-09-13 13:39:12 字數 618 閱讀 7147

沒把空間複雜度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];

經過上面處理,得到:

a = ;

**:

下面演算法的時間複雜度為o(n),空間複雜度為o(n)。

package com.liuzhen.practice;

public class main

return;

}public static void main(string args) ;

test.getlocationreplace(a);

for(int i = 1;i < a.length;i++)

system.out.print(a[i]+" ");

}}

完美洗牌演算法

原文 完美洗牌問題 給定乙個陣列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...

完美洗牌演算法

完美洗牌就是將一副牌平均分成兩份 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,只是拋磚,向各位高人請教更好的演算法,謝謝 完美洗牌就是將一副牌平均分成...

完美洗牌 洗牌

完美洗牌問題,給定乙個陣列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 ...