আমার সম্প্রতি দুটি কার্যক্ষেত্রে কাজ করার সময় আমার সমস্যা সমাধান করতে সমস্যা হয়েছিল: একটি মাস্টার তালিকা এবং একটি ছোট তালিকাতে যে মাস্টার তালিকায় থাকা আইটেমগুলির একটি উপসেট সম্ভাব্যভাবে আলাদাভাবে রয়েছে। আমাকে মাস্টার তালিকাটি এমনভাবে পুনঃক্রম করতে হবে যাতে সাবসেটের আইটেমগুলি তালিকায় পাওয়া যায় না এমন আইটেমগুলির ক্রম পরিবর্তন না করে এবং যখনই সম্ভব সম্ভব আইটেমগুলিকে একই স্থানে না রেখে একই ক্রমে উপস্থিত হয়। ঠিক আছে, এটি সম্ভবত বিভ্রান্তিকর শোনায়, তাই আমি এটিকে ভেঙে দেব:
- মাস্টার তালিকা আইটেমগুলির ডিফল্ট ক্রম সংজ্ঞায়িত করে।
- সাবসেটের তালিকা নির্দিষ্ট আইটেমগুলির আপেক্ষিক ক্রম সংজ্ঞায়িত করে।
- সাবসেট তালিকা অনুসারে যেখানে মাস্টার তালিকার দু'টি উপাদান রয়েছে, সেখানে মাস্টার তালিকার আগে থাকা আইটেমটি প্রাথমিক সূচীতে স্থানান্তরিত করা উচিত যেখানে এটি সাবসেট তালিকার অন্যান্য আইটেমের তুলনায় সঠিক অবস্থানে রয়েছে। (যেমন পরবর্তী আইটেমের সাথে সাথে)
আপনার কাজ হ'ল এই পুনর্নির্মাণ অ্যালগরিদমটি কার্যকর করা।
উদাহরণ পরীক্ষার ক্ষেত্রে
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]
বিধি
- স্ট্যান্ডার্ড লুফোলস, ইয়াড্ডা ইয়াড্ডা, সুবিধাজনক আই / ও, ব্লাহ ব্লাহ।
- যদিও উদাহরণগুলি সংখ্যা এবং স্ট্রিং ব্যবহার করে, আপনার কেবলমাত্র একটি উপাদান ধরণের সমর্থন করতে হবে, সেগুলি ইঙ্গিতগুলি, স্ট্রিংগুলি, বা ভিন্নরূপের তালিকাসমূহের সাথে সুসংজ্ঞায়িত সমতা শব্দার্থবিজ্ঞানের সাথে অন্য কোনও কিছুর ক্ষেত্রে আপনার ভাষাতে সুবিধাজনক।
- আপনি উভয় মাস্টার তালিকা এবং উপসেট তালিকার কোনও সদৃশ নেই বলে ধরে নিতে পারেন
- আপনি ধরে নিতে পারেন যে সাবসেট তালিকায় পাওয়া সমস্ত আইটেমগুলি মাস্টার তালিকায় পাওয়া গেছে
- হয় তালিকা খালি হতে পারে
- আপনাকে অবশ্যই সর্বনিম্ন, 100 টি উপাদান পর্যন্ত দীর্ঘ অ্যারে সমর্থন করতে হবে।
- পুনরায় ক্রম স্থানে বা নতুন তালিকা / অ্যারে তৈরির মাধ্যমে প্রয়োগ করা যেতে পারে।
শুভ গল্ফিং!
8 1 3 4 5 6 7 2 9 12 11 10
দ্বিতীয়-টু-গত এক একটি বৈধ সমাধান?