Votre tâche consiste à accepter en entrée deux séquences de gènes et une séquence de «points de croisement» et à renvoyer la séquence de gènes résultant des croisements indiqués.
Ce que je veux dire par là, c'est que vous avez les séquences [A, A, A, A, A, A, A]
et [Z, Z, Z, Z, Z, Z, Z]
, et traversez les points de 2
et 5
. La séquence résultante serait[A, A, Z, Z, Z, A, A]
, car:
Traverser ici: VV Indices: 0 1 2 3 4 5 6 Gènes 1: AAAAAAA Gènes 2: ZZZZZZZ Résultat: AAZZZAA ^ ^
Notez que pendant que j'utilise des lettres ici pour plus de clarté, le défi réel utilise des nombres pour les gènes.
Le résultat est la première séquence jusqu'à ce qu'un point de croisement soit rencontré, puis le résultat prend de la deuxième séquence jusqu'à ce qu'un autre point de croisement soit rencontré, puis le résultat prend de la première séquence jusqu'à ce qu'un point de croisement soit rencontré ...
Contribution:
L'entrée peut prendre toute forme raisonnable. Les deux séquences peuvent être une paire, avec les points comme deuxième argument, les trois peuvent être des arguments séparés, un seul triplet de
(genes 1, genes 2, cross-points)
, une carte avec des clés nommées ...Les points de croisement seront toujours en ordre et seront toujours dans les limites. Il n'y aura pas de points en double, mais la liste des points de croisement peut être vide.
Les séquences de gènes auront toujours la même longueur et ne seront pas vides.
Les indices peuvent être basés sur 0 ou 1.
Les gènes seront toujours des nombres compris entre 0 et 255.
Peu importe quel argument est "gènes 1" ou "gènes 2". En cas d'absence de points de croisement, le résultat peut être soit entièrement "gènes 1" soit "gènes 2".
Production
La sortie peut être toute forme raisonnable qui n'est pas ambiguë. Il peut s'agir d'un tableau / liste de nombres, d'un tableau de nombres de chaînes, d'une chaîne de nombres délimitée (certains caractères non numériques doivent séparer les nombres) ...
Il peut être retourné ou imprimé à la sortie standard.
Les entrées peuvent être effectuées par des programmes ou des fonctions complets.
Cas de test (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]
C'est Code Golf.