数组拼接

数组拼接

现在有多组整数数组,需要将它们合并成一个新的数组,合并规则,从每个数组里按顺序取出固定长度的内容合并到新的数组中,取完的内容会删除掉,如果该行不足固定长度或者已经为空,则直接取出剩余部分的内容放到新的数姐中,继续下一行。

如样例 1,获得长度 3,遍历第一行,获得 2, 5, 6; 再遍历第二行,获得 1, 7, 4; 再循环回到第一行,获得 7, 9, 5; 再遍历第二行,获得 3, 4; 再回到第一行,获得 7,按顺序拼接成最终结果。 输入描述:

第 1 行是每次读取的固定长度,长度 > 0 第 2-n 行是需要合并的数姐,不同的数组用回车换行分隔,数组内部用逗号分隔 输出描述:

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

示例 1:

输入

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

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

输入

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

1 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,按顺序拼接成最终结果。 示例3

输入

1 2 3 4 5 4 3 1,2,3,4,5,6 1,2,3 1,2,3,4 输出

1 1,2,3,4,1,2,3,1,2,3,4,5,6 1

nums1=[2,5,6,7,9,5,7]
nums2=[1,7,4,3,4]
nums3=[1,2,3,4,5,6]

nums=[nums1,nums2,nums3]
print(nums)
res=[]
while True:
    for i in range(3):
        res.append(nums[i][0:3])
        nums[i]=nums[i][2+1:]
    count=0
    ret=[]
    for j in res:
        if len(j)!=0:
            count+=len(j)
            ret+=j
    if count==len(nums1)+len(nums2)+len(nums3):
        ret=list(map(str,ret))
        print(','.join(ret))
        break
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务