现在有多组整数数组
需要将他们合并成一个新的数组
合并规则从每个数组里按顺序取出固定长度的内容
合并到新的数组
取完的内容会删除掉
如果改行不足固定长度,或者已经为空
则直接取出剩余部分的内容放到新的数组中继续下一行
输入描述
第一 行每次读取的固定长度
长度0<len<10
第二行是整数数组的数目
数目 0<num<10000
第3~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
先遍历第一行 获得2,5,6
再遍历第二行 获得1,7,4
再循环回到第一行获得7,9,5
再遍历第二行获得3,4
再回到第一行获得7
示例2
输入
4
3
1,2,3,4,5,6
1,2,3
1,2,3,4
输出
1,2,3,4,1,2,3,1,2,3,4,5,6
<?php
$len=fgets(STDIN);
$n=fgets(STDIN);
$arr=[];
$sum=0;//用于统计新数组长度
for($i=0;$i<$n;$i++){
$list=explode(',',trim(fgets(STDIN)));
$arr[]=$list;
$sum+=count($list);
}
solution($len,$sum,$arr);
function solution($len,$sum,$arr)
{
$new_arr=[];
while (count($new_arr)!=$sum){
foreach ($arr as &$list){
if(count($list)==0) continue;
$times=min(count($list),$len);
for ($i=0;$i<$times;$i++){
$new_arr[]=$list[0];
array_splice($list,0,1);//删除后键值从零开始
}
}
}
echo implode(',',$new_arr);
}