Tugas Anda adalah untuk menerima sebagai input dua urutan gen, dan urutan "cross over points", dan mengembalikan urutan gen yang dihasilkan dari cross over yang ditunjukkan.
Yang saya maksud dengan ini adalah, katakan Anda memiliki urutan [A, A, A, A, A, A, A]
dan [Z, Z, Z, Z, Z, Z, Z]
, dan lintas poin dari 2
dan 5
. Urutan yang dihasilkan adalah [A, A, Z, Z, Z, A, A]
, karena:
Silang Di Sini: VV Indeks: 0 1 2 3 4 5 6 Gen 1: AAAAAAA Gen 2: ZZZZZZZ Hasil: AAZZZAA ^ ^
Perhatikan bahwa saat saya menggunakan huruf di sini untuk kejelasan, tantangan sebenarnya menggunakan angka untuk gen.
Hasilnya adalah urutan pertama sampai titik lintas ditemui, maka hasilnya mengambil dari urutan kedua sampai titik lintas lainnya ditemui, kemudian hasilnya mengambil dari urutan pertama sampai titik persimpangan berakhir ...
Memasukkan:
Input dapat berupa bentuk apa pun yang masuk akal. Dua urutan bisa menjadi pasangan, dengan poin sebagai argumen kedua, ketiganya bisa menjadi argumen terpisah, triplet tunggal
(genes 1, genes 2, cross-points)
, peta dengan tombol bernama ...Poin silang akan selalu berurutan, dan akan selalu berada di dalam batas. Tidak akan ada duplikat poin, tetapi daftar lintas poin mungkin kosong.
Urutan gen akan selalu sama panjangnya, dan akan kosong.
Indeks dapat berbasis 0 atau 1.
Gen akan selalu menjadi angka di kisaran 0-255.
Tidak masalah argumen mana yang merupakan "gen 1" atau "gen 2". Dalam hal tidak ada titik lintas, hasilnya dapat berupa "gen 1" atau "gen 2".
Keluaran
Output dapat berupa bentuk yang wajar yang tidak ambigu. Ini bisa berupa array / daftar angka, array nomor string, string angka yang dibatasi (beberapa karakter non-numerik harus memisahkan angka) ...
Itu dapat dikembalikan atau dicetak ke std-out.
Entri dapat dengan program atau fungsi lengkap.
Kasus uji (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]
Ini Golf Code.