您的任务是接受两个基因序列和一个“交叉点”序列作为输入,并返回由所示交叉产生的基因序列。
我的意思是说您有序列[A, A, A, A, A, A, A]
和[Z, Z, Z, Z, Z, Z, Z]
,并且交叉了2
和的点5
。结果序列为[A, A, Z, Z, Z, A, A]
,因为:
穿越这里:VV 指数:0 1 2 3 4 5 6 基因1:AAAAAAA 基因2:ZZZZZZZ 结果:AAZZZAA ^^
请注意,尽管我在这里使用字母是为了清楚起见,但实际的挑战是将数字用于基因。
结果是第一个序列直到遇到交叉点,然后结果从第二个序列开始直到遇到另一个交叉点,然后结果从第一个序列开始直到遇到一个交叉点...
输入:
输入可以是任何合理的形式。这两个序列可以是一对,点是第二个参数,所有三个都可以是单独的参数,一个的三元组
(genes 1, genes 2, cross-points)
,一个具有命名键的映射...交叉点将始终是有序的,并且将始终是入站。不会有重复的点,但是交叉点列表可能为空。
基因序列将始终具有相同的长度,并且将为非空。
索引可以基于0或1。
基因将始终是0-255范围内的数字。
哪个参数是“ genes 1”或“ genes 2”都没有关系。在没有交叉点的情况下,结果可以完全是“基因1”或“基因2”。
输出量
输出可以是任何不模糊的合理形式。它可以是数字数组/列表,字符串数字数组,带分隔符的数字字符串(某些非数字字符必须分隔数字)...
可以将其返回或打印到标准输出。
可以通过完整的程序或功能进行输入。
测试用例(genes 1, genes 2, cross points) => result
:
[0], [1], [0] => [1]
[0, 1], [9, 8], [1] => [0, 8]
[0, 2, 4, 6, 8, 0], [1, 3, 5, 7, 9, 1], [1, 3, 5] => [0, 3, 5, 6, 8, 1]
[1, 2, 3, 4], [5, 6, 7, 8], [] => [1, 2, 3, 4]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 3, 6, 8] => [1, 1, 0, 1, 1, 1, 0, 0, 1, 1]
这是Code Golf。