আপনাকে অবশ্যই এমন একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা নেস্টেড তালিকাকে সাজায়। নেস্টেড তালিকা বাছাই করার নিয়মগুলি এখানে:
এই উদাহরণটি উদাহরণ হিসাবে নেওয়া যাক:
((5, 2), 2, 7, (2, 1, (3, 4)), 9)
এই তালিকার প্রতিটি উপাদানটির একটি "অগ্রাধিকার" রয়েছে। একটি উপাদান একটি সংখ্যা বা সাবলিস্ট হিসাবে গণনা করা হয়। প্রথমে একই উপাদানটিতে প্রতিটি উপাদানটির অগ্রাধিকার পান। যদি কোনও উপাদান কেবল একটি সংখ্যা হয় তবে এর অগ্রাধিকারটি সংখ্যার মতোই। যদি কোনও উপাদান একটি সাবলিস্ট হয় তবে এর অগ্রাধিকার হ'ল এটিতে সমস্ত সংখ্যার যোগফল , কোনও উপ-উপ-তালিকা সহ নয়।
সুতরাং, গভীরতা 1 এর সমস্ত উপাদানগুলির অগ্রাধিকারগুলি হ'ল :
( 7 ) 2 7 ( 3 ) 9
((5, 2), 2, 7, (2, 1, (3, 4)), 9)
প্রতিটি উপাদানকে অগ্রাধিকার অনুসারে বাছাই করুন। যদি কোনও টাই থাকে তবে আপনাকে অবশ্যই মূল তালিকার মতো একই ক্রমটি রাখতে হবে।
2 ( 3 ) ( 7 ) 7 9
(2, (2, 1, (3, 4)), (5, 2), 7, 9)
প্রতিটি সাবলিস্টের জন্য পুনরাবৃত্তি করুন। সুতরাং এই সাবলিস্টে
(2, 1, (3, 4))
আমাদের অগ্রাধিকারগুলি দেখতে দেখতে:
2 1 ( 7 )
(2, 1, (3, 4))
সাজানো তাই দেখে মনে হচ্ছে:
(1, 2, (3, 4))
(3, 4)
ইতিমধ্যে বাছাই করা হয়েছে, তাই আমরা সম্পন্ন করেছি। পুনরাবৃত্তি করুন (5, 2)
যার ফলাফল (2, 5)
এবং আমরা সম্পন্ন করেছি! আমাদের চূড়ান্ত তালিকাটি হ'ল:
(2, (1, 2, (3, 4)), (2, 5), 7, 9)
নিয়মাবলী:
অত্যন্ত সন্দেহজনক, তবে কেবল গণিতের কাছে যদি এর জন্য কিছু থাকে তবে কোনও নেস্টেড তালিকা বাছাইয়ের বিল্টিনগুলি অনুমোদিত নয়। নিয়মিত বাছাই ফাংশন হয় মঞ্জুরিপ্রাপ্ত।
আই / ও যে কোনও যুক্তিসঙ্গত বিন্যাসে থাকতে পারে।
প্রতিটি সাবলিস্টে কমপক্ষে একটি নম্বর বা তালিকা থাকবে। এছাড়াও, সাবলিস্টগুলি কয়েক স্তরের গভীরভাবে নেস্ট করা যেতে পারে। উদাহরণস্বরূপ, যেহেতু এটা একমাত্র sublists আছে, 0 একটি অগ্রাধিকার হয়েছে।
(1, 2, (((3))))
(((3)))
অবৈধ তালিকাগুলি (তুলনাহীন বন্ধনী, অ-সংখ্যা, ভুল বন্ধনী প্রকারের, নেতিবাচক সংখ্যা ইত্যাদি) এর ফলে অপরিবর্তিত আচরণ হয়।
পরীক্ষা I / O:
(1, 2, 3) ---> (1, 2, 3)
(1, 2, 6, 3, 9, 8) ---> (1, 2, 3, 6, 8, 9)
(4, 3, (2), (1)) ---> ((1), (2), 3, 4)
(4, 3, (2), ((1))) ---> (((1)), (2), 3, 4)
(5, (1, 2, (9, 8))) ---> ((1, 2, (8, 9)), 5)
(3, (1, 2), (2, 1)) ---> (3, (1, 2), (1, 2))
(3, (1, 2, (99)), (2, 1, (34))) ---> (3, (1, 2, (99)), (1, 2, (34)))
(7, 2, (1, (9, 12)), (4, 3, 2, (1, 2))) ---> ((1, (9, 12)), 2, 7, (2, 3, (1, 2), 4))
বাইট জিতে সংক্ষিপ্ত উত্তর।