michael122 2010年06月25日
一个数组的算法问题
鉴于算法版人气不旺, 把C++版的一个算法问题转过来,看看有没有好的解决办法
原帖地址:
http://topic.csdn.net/u/20100623/09/dd25166f-bac4-4b2d-98ab-71cab69f4241.html?54216

问题描述:一个长度为2n的(整型)数组元素为 a1 a2 ... an b1 b2 ... bn
要求: 用O(1)的空间代价, 在O(n)时间内把数组变成 a1 b1 a2 b2 a3 b3 ... an bn

该贴中给出的方法很巧妙,但是还是没有满足O(1)空间的限制,或者是对数组的元素有限制才做到(相当于做hash之类的操作把原数组的数据给变换了)。如果数据不是整型的,而是任意的对象,就做不了了。

现在问: 有没有一种方法,可以只通过移动元素,来达到时间O(n) 空间(1)的要求?
...全文
1823 点赞 收藏 50
写回复
50 条回复

还没有回复,快来抢沙发~

发动态
发帖子
数据结构与算法
创建于2007-08-27

2.9w+

社区成员

3.4w+

社区内容

数据结构与算法相关内容讨论专区
社区公告
暂无公告