Twoim zadaniem jest zaakceptowanie jako danych wejściowych dwóch sekwencji genów i sekwencji „punktów podziału” i zwrócenie sekwencji genów wynikającej ze wskazanych skrzyżowań.
Co mam na myśli to, że masz sekwencje [A, A, A, A, A, A, A]i [Z, Z, Z, Z, Z, Z, Z], i przejechać przez punkty 2i 5. Wynikowa sekwencja byłaby [A, A, Z, Z, Z, A, A], ponieważ:
Krzyż tutaj: VV
Wskaźniki: 0 1 2 3 4 5 6
Geny 1: AAAAAAA
Geny 2: ZZZZZZZ
Wynik: AAZZZAA
^ ^
Zwróć uwagę, że chociaż używam tutaj liter dla jasności, faktyczne wyzwanie wykorzystuje liczby dla genów.
Wynik jest pierwszą sekwencją do momentu napotkania punktu podziału, następnie wynik pobiera od drugiej sekwencji do napotkania innego punktu podziału, a następnie wynik trwa od pierwszej sekwencji do momentu znalezienia punktu podziału ...
Wejście:
Dane wejściowe mogą mieć dowolną rozsądną formę. Dwie sekwencje mogą być parą, z punktami jako drugim argumentem, wszystkie trzy mogą być osobnymi argumentami, pojedynczą tripletą
(genes 1, genes 2, cross-points), mapą z nazwanymi kluczami ...Punkty przecięcia zawsze będą w porządku i zawsze będą zaokrąglane. Nie będzie duplikatów punktów, ale lista punktów podziału może być pusta.
Sekwencje genów będą zawsze tej samej długości i nie będą puste.
Wskaźniki mogą być oparte na 0 lub 1.
Geny zawsze będą liczbami z zakresu 0–255.
Nie ma znaczenia, który argument to „geny 1” lub „geny 2”. W przypadku braku punktów podziału wynik może być albo całkowicie „genami 1”, albo „genami 2”.
Wynik
Wynik może być dowolną rozsądną formą, która nie jest dwuznaczna. Może to być tablica / lista liczb, tablica liczb ciągów, rozdzielany ciąg liczb (niektóre znaki nienumeryczne muszą oddzielać liczby) ...
Można go zwrócić lub wydrukować na standardowe wyjście.
Wpisy mogą mieć pełne programy lub funkcje.
Przypadki testowe (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]
To jest Code Golf.