apple_57958759 2022-04-12 21:23 采纳率: 100%
浏览 154
已结题

python简单的归并

已知数组A和B各有m、n个元素,且元素按值非递减排列,现要求把A和B归并为一个新的数组C,且C中的数据元素仍然按值非递减排列。
例如,若A=(3 5 8 11),B=(2 6 8 9 11 15 20)
则C=(2 3 5 6 8 8 9 11 11 15 20)

输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。
每组测试数据输入两行,其中第一行首先输入A的元素个数m(1≤m≤100),然后输入m个元素。第2行首先输入B的元素个数n(1≤n≤100),然后输入n个元素。

输出格式:
对于每组测试数据。分别输出将A、B合并后的数组C的全部元素。输出的元素之间以一个空格分隔(最后一个数据之后没有空格)。

输入样例:
1
4 3 5 8 11
7 2 6 8 9 11 15 20

输出样例:
2 3 5 6 8 8 9 11 11 15 20

  • 写回答

2条回答 默认 最新

  • 溪风沐雪 2022-04-12 22:14
    关注

    以注释的方式给解释,你参考一下,按题目要求应该是需要支持多组数据合并的,只不过举例是两组,输入样例T应该不能为1吧:

    T = int(input("请输入测试数据的组数:"))  #输入要合并的组数T,直接转int
    test_data_arr = [] #记录测试数据数组
    for i in range(T):
        data_str = input(f"请输入第{i+1}组测试数据:") #输入测试数据元素个数以及各元素
        test_data_arr.append([int(n) for n in data_str.split(' ')[1:]]) #用空格分割,去除第一个元素,并转为数字数组放到test_data_arr中
    print(test_data_arr)
    new_arr = [] 
    for data in test_data_arr: #遍历测试数据并合并数组
        new_arr = new_arr+data
    new_arr.sort() #合并后的数组升序排列
    for i in new_arr: #遍历数组打印,以空格结尾
        print(i, end=' ')
    print("\b ") #回退一个空格
    
    

    img


    中间打印了一下中间状态的数组做对比,如有帮助,请采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月21日
  • 已采纳回答 4月13日
  • 创建了问题 4月12日

悬赏问题

  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?