描述:
给出一个无序数列,每次只能交换相邻两个元素,求将原数列变成递增数列的最少交换次数。 如:数列:2,3,1,交换3和1后变成:2,1,3;交换1和2之后变成:1,2,3。总共交换2次。
输入:
逗号隔开的正整数数列 。
输出:
正整数
输入样例:
2,3,1
输出样例:
2
思路:
既求输入奇数个数数字的中间数,先将输入数字进行排序输出中间一个数字就可以。
代码:
import sys
for line in sys.stdin:
line = line.strip().split(',')
line = list(map(int,line))
data = [int(i)for i in line]
data.sort()
lnum = len(data)
a = int(lnum/2)
print(int(data[a]))
排序与查找:最小交换次数
本文探讨了一种算法问题,即如何通过最少次数的相邻元素交换,将一个无序的整数序列转换为递增序列。通过示例说明了算法的实现过程,并提供了Python代码实现。

被折叠的 条评论
为什么被折叠?



