【发布时间】:2016-06-13 01:55:55
【问题描述】:
是否有一个 O(n) 算法来重新排列奇数和偶数并保持顺序?辅助数组可用于中间结果,但重排应在数组内完成。
我发现这个http://www.geeksforgeeks.org/segregate-even-and-odd-numbers/ 可以做需要做的事情,但它不能维持秩序
Input:
1 4 3 8 6 5 7
Output:
1 3 5 7 4 8 6
【问题讨论】:
-
输入总是排序的吗?如果不是,那么就不可能完成 O(n)
-
你为什么要问“那里...”?你知道有一个吗?你需要一个吗?
-
数列是任意的吗?如果是这样,请在您的示例中反映这一点,因为您提出的方式会使读者感到困惑。
-
是的,数字顺序是任意的。我想知道是否有办法在两遍算法中做到这一点。因为总体复杂度仍然是 O(n)。辅助数组可用于中间结果,但重排应在数组内完成
标签: algorithm complexity-theory divide-and-conquer