এই চ্যালেঞ্জটি ম্যাথমেটিকা.এসই সম্পর্কিত একটি প্রশ্ন দ্বারা অনুপ্রাণিত হয়েছিল ।
বলুন যে আপনি কিছু স্বেচ্ছাসেবী কাঠামোর নেস্টেড তালিকা / অ্যারে পেয়েছেন (প্রতিটি স্তরের তালিকাগুলিতে অভিন্নভাবে একই দৈর্ঘ্য নেই)। সরলতার জন্য, আমরা ধরে নেব যে নোডগুলি অ-নেতিবাচক পূর্ণসংখ্যা বা খালি অ্যারে। উদাহরণ হিসাবে
[[[1, 3], 2], [1, 4], 12, [[0, [], 0], [5, [7]]]]
কখনও কখনও নোডগুলির কিছু হেরফের করার জন্য সেই তালিকাটি সমতল করা আরও সুবিধাজনক eg
--> [1, 3, 2, 1, 4, 12, 0, 0, 5, 7]
--> [1, 1, 0, 1, 0, 0, 0, 0, 1, 1]
তবে শেষ পর্যন্ত আপনি প্রকৃত কাঠামোটি সংরক্ষণ করতে চান, তাই আপনি এটিকে আবার রূপান্তর করতে চান
--> [[[1, 1], 0], [1, 0], 0, [[0, [], 0], [1, [1]]]
আপনার কাজটি সেই শেষ পদক্ষেপটি সম্পাদন করা।
স্বেচ্ছাসেবী অ-নেতিবাচক পূর্ণসংখ্যার একটি নেস্টেড তালিকা দেওয়া হয়েছে, যা ফলাফলের পছন্দসই কাঠামোর প্রতিনিধিত্ব করে এবং অ-নেতিবাচক পূর্ণসংখ্যার সমতল তালিকা, যা পছন্দসই মানগুলি উপস্থাপন করে, সমতল তালিকাটিকে কাঠামোগত তালিকার আকারে পুনরায় আকার দিন। আপনি ধরে নিতে পারেন যে উভয় তালিকায় একই সংখ্যার পূর্ণসংখ্যা রয়েছে।
যথারীতি আপনাকে অবৈধ ইনপুট (যেমন দ্বিতীয় তালিকাটি সমতল না হওয়া, ইনপুটটি সিনট্যাকটিকভাবে বিকৃত হওয়া, নোড হিসাবে পূর্ণসংখ্যা না থাকা ইত্যাদি) নিয়ে কাজ করতে হবে না। আপনি আপনার কোড ইনপুট অ্যারে সংশোধন করতে পারেন।
আপনি STDIN, কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নিয়ে কোনও ফাংশন বা প্রোগ্রাম লিখতে পারেন, এবং আপনি ফলাফলটি ফেরত দিতে বা এটি STDOUT এ মুদ্রণ করতে পারেন। ইনপুট এবং আউটপুট উপস্থাপন করতে আপনি যে কোনও সুবিধাজনক তালিকা বা স্ট্রিং ফর্ম্যাট ব্যবহার করতে পারেন (যতক্ষণ না বিন্যাসটি দ্ব্যর্থহীন এবং ইনপুটটি প্রিপ্রোসেসড হয় না)। এছাড়াও, উভয় ইনপুটগুলির ফর্ম্যাটটি সামঞ্জস্যপূর্ণ হওয়া দরকার (যাতে আপনি একটি ইনপুট স্ট্রিং হিসাবে এবং অন্যটিকে তালিকার হিসাবে নিতে পারেন না)। আপনি উভয় ক্রমে ইনপুট তালিকা নিতে পারেন, তবে দয়া করে আপনার উত্তরে সঠিক ইনপুট পদ্ধতিটি নির্দিষ্ট করুন specify
আরও একটি বিধিনিষেধ: আপনার অবশ্যই নিয়মিত অভিব্যক্তি ব্যবহার করা উচিত নয়। এটি একটি অ্যারে ম্যানিপুলেশন চ্যালেঞ্জ, স্ট্রিং ম্যানিপুলেশন চ্যালেঞ্জ নয়।
এটি কোড গল্ফ, তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জেতে।
পরীক্ষার মামলা
Structure Values Result
[[[1,3],2],[1,4],12,[[0,0],[5,[7]]]] [1,1,0,1,0,0,0,0,1,1] [[[1,1],0],[1,0],0,[[0,0],[1,[1]]]]
[[[0,0],0],[0,0],0,[[0,0],[0,[0]]]] [1,1,0,1,0,0,0,0,1,1] [[[1,1],0],[1,0],0,[[0,0],[1,[1]]]]
[] [] []
[[]] [] [[]]
[0,1,2,3] [5,1,0,5] [5,1,0,5]
[[[[[0]]]]] [123] [[[[[123]]]]]
[0,[1,[]],[[]],[2,3],[]] [1,6,1,8] [1,[6,[]],[[]],[1,8],[]]