इस चुनौती का लक्ष्य चयनित वस्तुओं को एक सूची में एकत्र करना और उन्हें सूची में एक निश्चित स्थान पर ले जाना है।
एक दृश्य उदाहरण के रूप में, इनपुट वैल्यूज (ब्लैक बॉक्सेड पूर्णांकों द्वारा दर्शाया गया) और सत्य मानों की एक समान सूची लें, जहाँ सत्य को दर्शाया जाता है कि आइटम का चयन किया गया है (नीले बॉक्स द्वारा दर्शाया गया है, जहां सत्य है Tऔर Fमिथ्या है):
पहला तार्किक कदम सत्य के रूप में चिह्नित वस्तुओं को अलग करना है और उनकी संबंधित सूचियों में सच्चाई नहीं है। ध्यान दें कि प्रत्येक सूची में सापेक्ष क्रम बनाए रखा जाना चाहिए (अर्थात चयनित वस्तुओं का क्रम होना चाहिए 1,4,5, और अचयनित वस्तुओं का क्रम होना चाहिए 2,3,6,7)!
दूसरे तार्किक कदम को अचयनित वस्तुओं की शेष सूची में एक सूचकांक दिया गया है, दिए गए सूचकांक में आइटम से पहले सभी चयनित आइटम डालें। इंडेक्सिंग 0 से शुरू होता है, मान लीजिए कि आप इंडेक्स 3 में चयन सम्मिलित करना चाहते हैं। यह 7बॉक्स से पहले स्पॉट से मेल खाती है , इसलिए चयनित आइटम को इससे पहले डाला जाना चाहिए 7।
अंतिम समाधान तो है 2,3,6,1,4,5,7।
ध्यान दें कि इस तार्किक आरेख में एक तरह से यह किया जा सकता है; आपके प्रोग्राम को उतने ही तार्किक कदम उठाने की आवश्यकता नहीं है, जब तक कि आउटपुट हमेशा एक ही देखने योग्य परिणाम उत्पन्न नहीं करता है।
इनपुट
आपके प्रोग्राम को 3 इनपुट दिए गए हैं:
- आइटमों का प्रतिनिधित्व करने वाले पूर्णांकों की एक सूची। यह एक खाली सूची हो सकती है। इस सूची में हमेशा अद्वितीय सकारात्मक पूर्णांक शामिल होंगे, जरूरी नहीं कि क्रमबद्ध क्रम में (यानी 5 दो बार सूची में नहीं होंगे)।
- वस्तुओं की सूची के समान लंबाई के साथ सत्य / मिथ्या मूल्यों की एक सूची, जहां एक सत्य मूल्य दर्शाता है कि एक ही सूचकांक में आइटम का चयन किया गया है।
- चयन पूर्ण करने के लिए एक पूर्णांक जहां प्रतिनिधित्व होता है। आप चुन सकते हैं कि सूची के पहले आइटम का सूचकांक क्या है जब तक यह आपके प्रोग्राम के प्रत्येक रन में स्थिर है (उदाहरण के लिए पहला आइटम इंडेक्स 0 या इंडेक्स 1 हो सकता है)। कृपया निर्दिष्ट करें कि आपका कार्यक्रम किस सम्मेलन का पालन करता है। यह सूचकांक सीमा में होना चाहिए
[starting_idx, ending_idx+1], अर्थात यह हमेशा एक वैध सूचकांक होगा। केस इंडेक्स के लिएending_idx+1, चयन को सूची के अंत में डाला जाना चाहिए। आप मान सकते हैं कि यह पूर्णांक आपकी भाषा के मूल पूर्णांक प्रकार में फिट होगा।
इनपुट वांछित (stdio, फ़ंक्शन पैरामीटर, आदि) से किसी भी स्रोत से आ सकता है
उत्पादन
आउटपुट एक सूची है जो वस्तुओं के अंतिम अनुक्रम का प्रतिनिधित्व करती है। यह वांछित किसी भी स्रोत (stdio, रिटर्न वैल्यू, फंक्शन आउटपुट पैरामीटर, आदि) के लिए हो सकता है। आपको किसी भी इनपुट को जगह में बदलने की अनुमति है (उदाहरण के लिए, फ़ंक्शन पैरामीटर के रूप में संशोधित-सक्षम सूची दी गई है, और आपका फ़ंक्शन उस सूची में इन-प्लेस संचालित होता है)।
परीक्षण के मामलों
निम्नलिखित सभी परीक्षण मामले 0-आधारित अनुक्रमण को मानते हैं। मैंने चयन मास्क के लिए क्रमशः झूठी / सत्य मूल्यों को इंगित करने के लिए 0 और 1 का उपयोग किया है।
टेस्ट मामलों के रूप में सूचीबद्ध सूचियों के रूप में होता है [a,b,c], लेकिन जब तक आपकी इनपुट सूची एक परिमित क्रम अनुक्रम का प्रतिनिधित्व करती है जो ठीक है।
इनपुट:
[]
[]
0
आउटपुट:
[]
इनपुट:
[1,2,3,4,5,6,7]
[1,0,0,1,1,0,0]
3
आउटपुट:
[2,3,6,1,4,5,7]
इनपुट:
[1,2,3,4,5,6,7]
[1,0,0,1,1,0,0]
0
आउटपुट:
[1,4,5,2,3,6,7]
इनपुट:
[1,2,3,4,5,6,7]
[1,0,0,1,1,0,0]
4
आउटपुट:
[2,3,6,7,1,4,5]
इनपुट:
[1,2,3,4,5,6,7]
[1,1,1,1,1,1,1]
0
आउटपुट:
[1,2,3,4,5,6,7]
इनपुट:
[1,2,3,4,5,6,7]
[0,0,0,0,0,0,0]
5
आउटपुट:
[1,2,3,4,5,6,7]
इनपुट:
[1,3,2,5,4,6]
[1,0,0,1,1,0]
3
आउटपुट:
[3,2,6,1,5,4]
स्कोरिंग
यह कोड गोल्फ है; बाइट्स जीत में सबसे कम जवाब। मानक कमियां निषिद्ध हैं। आपको किसी भी बिल्ट-इन वांछित का उपयोग करने की अनुमति है।


