首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

请问一个笔试题,要求复杂度O(n),空间O(1)

2013-07-01 
请教一个笔试题,要求复杂度O(n),空间O(1)有一个数组a[a1,a2,a3,...an,b1,b2,b3...bn]要变成[a1,b1,a2,b2,

请教一个笔试题,要求复杂度O(n),空间O(1)
有一个数组a=[a1,a2,a3,...an,b1,b2,b3...bn]
要变成
[a1,b1,a2,b2,a3,b3,....an,bn]
要求如题目。
求大神!!!!请问一个笔试题,要求复杂度O(n),空间O(1) 算法,面试题
[解决办法]
洗牌算法有多种解释,一种是打乱顺序,一种是LZ的题目。打乱顺序的好理解且实现起来不麻烦。LZ的题目似乎没有正确的答案,翻来覆去都是那几个相互抄袭的文章。给的解释经不起推敲,6个元素的还可以,元素多几个解释就乱了。

还是去找老外的原著吧,抄袭人家的文章都不认真,哎……
[解决办法]

引用:
完美洗牌算法,还是有点复杂的
http://user.qzone.qq.com/414353346/blog/1243343118#!app=2&via=QZ.HashRefresh&pos=1243343118
证明3^i的代表元进行的置换不相交且完全覆盖有点小复杂啊~

热点排行