मुझे हाल ही में काम पर हल करने की समस्या थी, जहां मेरे पास दो सूचियां थीं: एक मास्टर सूची, और एक छोटी सूची जिसमें मास्टर सूची में आइटम का एक सबसेट होता है जो संभावित रूप से एक अलग क्रम में होता है। मुझे मास्टर सूची को इस तरह से पुन: क्रमबद्ध करने की आवश्यकता थी कि जब भी संभव हो सूची में नहीं मिली वस्तुओं के क्रम को बदले और उसी स्थान पर आइटम रखने के बिना सबसेट में आइटम उसी क्रम में दिखाई देंगे। ठीक है, शायद यह भ्रामक लगता है, इसलिए मैं इसे तोड़ दूंगा:
- मास्टर सूची वस्तुओं के डिफ़ॉल्ट क्रम को परिभाषित करती है।
- सबसेट सूची कुछ वस्तुओं के सापेक्ष क्रम को परिभाषित करती है।
- जहाँ मास्टर सूची में सब्मिट सूची के अनुसार दो तत्व हैं, जो आइटम पहले मास्टर सूची में है, उसे जल्द से जल्द सूचकांक में ले जाया जाना चाहिए, जहाँ वह सबसेट सूची के भीतर अन्य वस्तुओं के सापेक्ष सही स्थान पर है। (बाद में आइटम के तुरंत बाद)
आपका कार्य इस पुन: व्यवस्थित एल्गोरिथ्म को लागू करना है।
उदाहरण परीक्षण मामले
Master: [1, 2, 3]
Subset: []
Result: [1, 2, 3]
Master: [9001, 42, 69, 1337, 420]
Subset: [69]
Result: [9001, 42, 69, 1337, 420]
Master: [9001, 42, 69, 1337, 420, 99, 255]
Subset: [69, 9001, 1337]
Result: [42, 69, 9001, 1337, 420, 99, 255]
Master: [1, 2, 3, 4, 5]
Subset: [2, 5]
Result: [1, 2, 3, 4, 5]
Master: [apple, banana, carrot, duck, elephant]
Subset: [duck, apple]
Result: [banana, carrot, duck, apple, elephant]
Master: [Alice, Betty, Carol, Debbie, Elaine, Felicia, Georgia, Helen, Ilene, Julia]
Subset: [Betty, Felicia, Carol, Julia]
Result: [Alice, Betty, Debbie, Elaine, Felicia, Carol, Georgia, Helen, Ilene, Julia]
Master: [snake, lizard, frog, werewolf, vulture, dog, human]
Subset: [snake, werewolf, lizard, human, dog]
Result: [snake, frog, werewolf, lizard, vulture, human, dog]
Master: [Pete, Rob, Jeff, Stan, Chris, Doug, Reggie, Paul, Alex]
Subset: [Jeff, Stan, Pete, Paul]
Result: [Rob, Jeff, Stan, Pete, Chris, Doug, Reggie, Paul, Alex]
Master: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Subset: [8, 1, 2, 12, 11, 10]
Result: [3, 4, 5, 6, 7, 8, 1, 2, 9, 12, 11, 10]
Master: [lol, rofl, lmao, roflmao, lqtm, smh, jk, wat]
Subset: [wat, lmao, rofl]
Result: [lol, roflmao, lqtm, smh, jk, wat, lmao, rofl]
नियम
- मानक खामियां, याददा यदा, सुविधाजनक I / O, blah blah।
- भले ही उदाहरण संख्याओं और तारों का उपयोग करते हैं, आपको केवल एक तत्व प्रकार का समर्थन करने की आवश्यकता है, चाहे वह पूर्णांक, तार, या अच्छी तरह से परिभाषित समानता शब्दार्थ के साथ कुछ और हो, जिसमें विषम सूची भी शामिल हो अगर आपकी भाषा सुविधाजनक हो।
- आप मान सकते हैं कि दोनों मास्टर सूची और सबसेट सूची में कोई डुप्लिकेट नहीं है
- आप मान सकते हैं कि सबसेट सूची में पाए गए सभी आइटम मास्टर सूची में पाए जाते हैं
- या तो सूची खाली हो सकती है
- आपको कम से कम, 100 तत्वों तक लंबे अरैज़ का समर्थन करना चाहिए।
- पुन: व्यवस्थित करना एक नई सूची / सरणी के निर्माण में या जगह के माध्यम से लागू किया जा सकता है।
हैप्पी गोल्फिंग!
8 1 3 4 5 6 7 2 9 12 11 10दूसरा-से-अंतिम एक वैध समाधान है?