【华为OD机试】数组拼接(C++ Python Java)2023 B卷

这篇博客介绍了华为在线测评(OD)中的一道数组拼接题目,要求根据指定长度从多个数组中取出元素并拼接成新数组。文章提供了输入输出描述、示例和解决方案,并重点解析了如何确定每次读取数组的位置。涉及的主要考点是逻辑分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

有多组整数数组,把他们按如下规则拼接成一个新的数组:

从每个数组中按顺序取出固定数列的内容,合并到新数组中(已取出的内容将从原始数组中去除),

如果该行不足固定长度或者已经为空,则直接取出剩余部分放到新数组中。继续下一行。

输入描述:

第一行是每次读取的固定长度, 0 < 长度 < 10

第二行是整数数组的个数,0 < 个数 < 1000

n行是需要合并的数组,不同的数组用回车换行分隔,数组内部用逗号分隔,最大不超过100个元素。

输出描述:

输出一个新的数组,用逗号分隔每项

示例1:

输入

3

2

2,5,6,7,9,5,7

1,7,4,3,4

输出

2,5,6,1,7,4,7,9,5,3,4,7

说明

获得长度为3和数组数目为2

先遍历第一行,获得3个数,分别为2, 5, 6,放入目标数组中

再遍历第二行,获得3个数,分别为1, 7, 4, 放入目标数组中

再循环回第一行,获得7, 9, 5,放入目标数组中

再遍历第二行,获得3,4, 放入目标数组中

再回到第一行,获得7, 放入目标数组中

示例2:

输入

4

3