आपका कार्य इनपुट दो जीन अनुक्रमों के रूप में स्वीकार करना है, और "क्रॉस ओवर पॉइंट्स" का एक क्रम है, और संकेतित क्रॉस ओवरों के परिणामस्वरूप जीन अनुक्रम को वापस करना है।
क्या मैं इस से मतलब है, आप दृश्यों है कहना है [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: AAAAAAA
जीन 2: ZZZZZZZ
परिणाम: AAZZZAA
^ ^
ध्यान दें कि जब मैं स्पष्टता के लिए यहां पत्र का उपयोग कर रहा हूं, वास्तविक चुनौती जीन के लिए संख्याओं का उपयोग करती है।
जब तक एक क्रॉस ओवर पॉइंट का सामना नहीं किया जाता है तब तक परिणाम पहला अनुक्रम होता है, फिर परिणाम दूसरे अनुक्रम से लेता है जब तक कि एक और क्रॉस ओवर प्वाइंट का सामना नहीं किया जाता है, तब परिणाम पहले अनुक्रम से लेता है जब तक कि एक क्रॉस ओवर पॉइंट का सामना नहीं किया जाता है ...
इनपुट:
इनपुट कोई भी उचित रूप हो सकता है। दो अनुक्रम एक जोड़ी हो सकते हैं, दूसरे तर्क के रूप में अंक के साथ, तीनों अलग-अलग तर्क हो सकते हैं, एक एकल ट्रिपल
(genes 1, genes 2, cross-points), नाम की चाबियाँ के साथ एक नक्शा ...क्रॉस पॉइंट हमेशा क्रम में होंगे, और हमेशा इनबाउंड होंगे। डुप्लिकेट अंक नहीं होंगे, लेकिन क्रॉस ओवर पॉइंट की सूची खाली हो सकती है।
जीन अनुक्रम हमेशा एक ही लंबाई के होंगे, और गैर-खाली होंगे।
संकेत 0 या 1 आधारित हो सकते हैं।
जीन हमेशा 0-255 की रेंज में नंबर होंगे।
इससे कोई फर्क नहीं पड़ता कि कौन सा तर्क "जीन 1" या "जीन 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]
यह कोड गोल्फ है।