小慕在整理一份数字项目报告时,发现数据需要按照特定规则重新排列。这些数字分为 和 ,小慕需要遵循以下规则: 1. 奇数规则:奇数按 排列。 2. 偶数规则:偶数按 排列。 3. 位置不变:每个数字的奇偶性必须与原数据中的位置保持一致。 小慕的任务是对给定的数字序列进行重新排序,使其满足上述规则。
提示:带虚线的词点一下有通俗解释。
输入描述
第一行输入一个整数 `n`,表示数组的长度,满足 `1 ≤ n ≤ 10^5`。 第二行输入一个长度为 `n` 的整数数组 `magicArray`,表示魔法阵的初始排列,每个数字为不超过`10^5`的非负整数。
输出描述
输出一个长度为 `n` 的整数数组,表示重新排序后的魔法阵。
示例
示例 1
输入
6 5 2 3 8 1 4
输出
1 8 3 4 5 2
说明:- 奇数部分:[5, 3, 1] 按升序变为 [1, 3, 5]。 - 偶数部分:[2, 8, 4] 按降序变为 [8, 4, 2]。 - 原位置顺序保持不变,最终结果为 [1, 8, 3, 4, 5, 2]。
示例 2
输入
4 2 4 6 8
输出
8 6 4 2
示例 3
输入
4 1 3 5 7
输出
1 3 5 7
说明:- 全部为奇数,直接按升序排列为 [1, 3, 5, 7]。
时间限制 1000 ms · 内存限制 128 MB