📜  门|门CS 2012 |第 56 题(1)

📅  最后修改于: 2023-12-03 15:42:22.800000             🧑  作者: Mango

题目介绍

本题目为门|门CS 2012年比赛的第56道题目,题目要求写一个程序来处理输入输出,完成特定的功能。

具体题目要求为:

给出一个由若干个空格分隔数字组成的字符串,要求将其转换为整数数组并排序,然后将排序后的结果输出。

输入格式

输入为一个由空格分隔的数字字符串,其中数字字符串中的数字个数不超过100000,数字之间用空格分隔。

输出格式

输出为排序后的数字数组,其中相邻的数字中间使用一个空格分隔。

样例

输入:

9 3 7 1 8 2 4 6 5

输出:

1 2 3 4 5 6 7 8 9

解题思路

题目要求将一串按空格分隔的数字字符串转换成整数数组,并对该数组进行排序,最后将排序后的数组输出。

首先需要将输入数据从字符串转换成数字数组,在此可以使用Python内置的map函数,将每个字符串转换成数字。接着将该数组进行排序,最后使用join函数将排序后的数组拼接成字符串输出即可。

代码实现

def sort_num_string(num_str):
    # 将数字字符串转换成数字数组
    num_list = list(map(int, num_str.split()))
    # 将数字数组进行排序
    num_list.sort()
    # 将排序后的数字数组拼接成字符串
    sorted_str = ' '.join(map(str, num_list))
    # 返回排序后的数字数组
    return sorted_str

测试用例

assert sort_num_string('9 3 7 1 8 2 4 6 5') == '1 2 3 4 5 6 7 8 9'
assert sort_num_string('1 1 1 1 1') == '1 1 1 1 1'
assert sort_num_string('2 2 1 1 3 3') == '1 1 2 2 3 3'