【发布时间】:2015-08-02 15:05:33
【问题描述】:
假设我有一个数组 A,在 [0, n) 范围内具有 n 个唯一元素。换句话说,我有一个整数 [0, n) 的排列。
可以使用 O(1) 额外空间(也就是就地)将 A 转换为 B,这样 B[A[i]] =我?
例如:
A B
[3, 1, 0, 2, 4] -> [2, 1, 3, 0, 4]
【问题讨论】:
-
我们可以使用您的数组条目的符号位来编码信息吗?还是会违背不使用额外空间的想法?
-
@NiklasB。这将是每个条目 1 位 - O(n) 空间。不允许。
-
这真的取决于型号。例如,在经典 RAM 模型中,我们有 log n
-
@NiklasB。如果你想具体一点,transdichotomous model.
-
这听起来好像更适合Computer Science