Ваше завдання полягає в тому, щоб прийняти як введення дві послідовності генів і послідовність "перехресних точок", і повернути послідовність генів, що є результатом зазначених перехресних переключень.
Що я маю на увазі під цим, скажіть, у вас є послідовності [A, A, A, A, A, A, A]і [Z, Z, Z, Z, Z, Z, Z], і перетнути точки 2і 5. Отримана послідовність буде [A, A, Z, Z, Z, A, A], оскільки:
Хрест Тут: В.В.
Індекси: 0 1 2 3 4 5 6
Гени 1: ААААААА
Гени 2: ZZZZZZZ
Результат: AAZZZAA
^ ^
Зауважте, що хоча я тут використовую літери для наочності, справжній виклик використовує цифри для генів.
Результатом є перша послідовність, поки не зустрінеться точка перехрестя, потім результат бере від другої послідовності до появи іншої точки перетину, потім результат бере від першої послідовності, поки не виникне точка перехрестя ...
Вхід:
Введення може бути будь-якою розумною формою. Дві послідовності можуть бути парними, причому точки є другим аргументом, всі три можуть бути окремими аргументами, однією трійкою
(genes 1, genes 2, cross-points), картою з іменованими ключами ...Перехресні точки завжди будуть в порядку, і завжди будуть вхідними. Дублікатів не буде, але список перекреслених пунктів може бути порожнім.
Послідовності генів завжди будуть однакової довжини і не будуть порожніми.
Індекси можуть бути 0 або 1 на основі.
Гени завжди будуть числами в діапазоні 0-255.
Не має значення, який аргумент "гени 1" або "гени 2". У випадку відсутності перехресних точок результат може бути або повністю "генами 1", або "генами 2".
Вихідні дані
Вихід може бути будь-якою розумною формою, яка не є неоднозначною. Це може бути масив / список чисел, масив рядкових чисел, обмежений рядок чисел (деякі нечислові символи повинні відокремлювати числа) ...
Він може бути повернутий або роздрукований у std-out.
Записи можна за допомогою повних програм або функцій.
Випробування (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.