这是绊脚石:
从三个阵列A,B和C开始,总共有
2n+1
个条目。 编写一个算法来对所有数组中的所有条目进行排序 仅使用以下两种方法:
- 如果
X = sort(X)
将数组X
替换为已排序的版本。(X , Y) = doubleUp(X , Y)
包含更多元素,则- 的末尾 醇>
X
不执行任何操作 比Y
,否则会从length(X)
中删除第一个Y
条目 并将它们附加到X
。
这是我到目前为止所尝试的内容。如果其中两个数组为空,则只需在非空数组上使用sort
。
如果其中一个数组为空,那么我认为我可以使用doubleUp
使一个数组只有一个数据而另一个数组拥有其他所有数据,并且如果该单例数组具有最小数量(或最大的元素,那么有效。因此,每次使用sort
后我都可以使用doubleUp
来确保这种情况发生。我在Maple中编写了这个代码,它适用于我检查过的所有情况。
我不知道如何使用3个阵列。有人有什么想法吗?
答案 0 :(得分:5)
听起来像胡说八道。条目总数是奇数。增加数组长度的唯一方法是使它成为doubleUp
的较小的第一个参数,在这种情况下,它最终会得到偶数个元素。因此,除非所有元素都在一个数组中,否则无法使一个数组包含所有元素,无论是排序还是其他元素。
因此,所需的最终结果不是包含所有元素的单个数组。或者如果是,那么问题的答案是“它无法完成”。