#107. 数组重排:4后跟5
数组重排:4后跟5
数组4-5重排
题目背景
在一次数据整理任务中,你需要对一个特殊的数字序列进行重新排列。这个序列中的数字需要满足一个特定的模式,以确保数据的正确性和可用性。
题目描述
(这是 fix34 问题的稍难版本。)给定一个数组,返回一个包含与给定数组完全相同数字的数组,但经过重新排列,使得每个 后面都紧跟着一个 。不要移动 的位置,但其他所有数字都可以移动。数组中 和 的数量相同,并且每个 后面都有一个不是 的数字。在此版本中, 可以出现在原始数组的任何位置。
输入格式
输入以如下格式从标准输入中给出。
一个整数数组,表示原始序列。
输出格式
输出以如下格式输出到标准输出中。
一个整数数组,表示重新排列后的序列。
样例
[5 4 9 4 9 5]
[9, 4, 5, 4, 5, 9]
[1 4 1 5]
[1, 4, 5, 1]
[1 4 1 5 5 4 1]
[1, 4, 5, 1, 1, 4, 5]
样例解释
对于样例1:原始数组为 [5, 4, 9, 4, 9, 5]。其中 位于索引 和 。我们需要将 放置在 之后。原始数组中,索引 和 处的 是“自由”的(即它们前面没有 )。索引 和 处的 需要被移动,以便为 腾出位置。最终,索引 处的 被移动到索引 处,索引 处的 被移动到索引 处。原来索引 和 处的 则分别被移动到索引 和 处,得到 [9, 4, 5, 4, 5, 9]。
数据范围
每个测试用例的时间限制为 秒,内存限制为 KiB。