首页 > 试题广场 >

序列交换

[编程题]序列交换
  • 热度指数:1873 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小易给你一个包含n个数字的数组。你可以对这个数组执行任意次以下交换操作:
对于数组中的两个下标i,j(1<=i,j<=n),如果为奇数,就可以交换a_ia_j

现在允许你使用操作次数不限,小易希望你能求出在所有能通过若干次操作可以得到的数组中,字典序最小的一个是什么。

输入描述:
第一行一个整数n;
第二行n个整数a_1,a_2,..,a_n,表示数组,每两个数字之间用一个空格分隔。
输入保证


输出描述:
n个整数,每两个整数之间用一个空格分隔,表示得到的字典序最小的数组。
示例1

输入

4
7 3 5 1

输出

7 3 5 1
示例2

输入

10
53941 38641 31525 75864 29026 12199 83522 58200 64784 80987

输出

12199 29026 31525 38641 53941 58200 64784 75864 80987 83522
头像 bettermin
发表于 2020-04-10 20:48:20
def solve(nums): if len(nums) == 0: return [] odd = 0 # 数组中偶数的个数 for i in range(len(nums)): if nums[i] % 2 == 0: 展开全文