সবাই নীড় তালিকা পছন্দ! তবে, কখনও কখনও নেস্টেড তালিকা তৈরি করা শক্ত hard আপনি যদি সিদ্ধান্ত নিতে পারেন যে আপনি এটি আরও গভীরভাবে বাসা বাঁধতে চান, বা যদি আপনাকে এটিকে নিচু করে বাসা বাঁধতে হয়। সুতরাং আপনার চ্যালেঞ্জের জন্য, আপনাকে অবশ্যই একটি তালিকা "স্বায়ত্তশাসিত" করতে হবে। একটি তালিকা স্বায়ত্তশাসিত করতে তালিকার প্রতিটি জোড়া আইটেমের তুলনা করুন।
দ্বিতীয় আইটেমটি যদি ছোট হয় তবে ক্লোজিং এবং খোলার মধ্যে বন্ধনী দুটি সন্নিবেশ করে দুটি উপাদান পৃথক করুন:
} { {2 , 1}
উদাহরণস্বরূপ,
{2, 1}
হয়ে ওঠে{2}, {1}
এবং{3, 2, 1}
হয়{3}, {2}, {1}
দ্বিতীয় আইটেমটি যদি একই হয় তবে কিছুই পরিবর্তন করুন। উদাহরণস্বরূপ,
{1, 1, 1}
একই থাকে, এবং{2, 1, 1, 1}
হয়ে যাবে{2}, {1, 1, 1}
।যদি দ্বিতীয় আইটেমটি বড় হয়, তবে নীচের প্রতিটি আইটেমকে এক স্তর আরও নীচে বাসাতে হবে। উদাহরণস্বরূপ,
{1, 2}
হয়ে উঠবে{1, {2}}
এবং{1, 2, 3}
হয়ে যাবে{1, {2, {3}}}
চ্যালেঞ্জ
আপনাকে অবশ্যই এমন একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা সংখ্যার একটি তালিকা গ্রহণ করে এবং স্বয়ংক্রিয় হওয়ার পরে একই তালিকাটি ফেরত দেয় returns আপনার ভাষার স্থানীয় তালিকা বিন্যাসে (বা নিকটতম বিকল্প) অথবা স্ট্রিং হিসাবে এই ইনপুটটি নিন। আমার উদাহরণগুলির মতো আপনার কোঁকড়ানো ধনুর্বন্ধনী ব্যবহার করতে হবে না। আপনার ভাষাতে যে কোনও ধরণের বন্ধনী সর্বাধিক প্রাকৃতিক হিসাবে আপনি এটি ব্যবহার করতে পারেন যতক্ষণ না এটি ধারাবাহিক থাকে। আপনি নিরাপদে ধরে নিতে পারেন তালিকায় কেবল পূর্ণসংখ্যা থাকবে। আপনি ধরে নিতে পারেন তালিকার এতে কমপক্ষে 2 নম্বর থাকবে। এখানে কিছু নমুনা আইও:
{1, 3, 2} --> {1, {3}, {2}}
{1, 2, 3, 4, 5, 6} --> {1, {2, {3, {4, {5, {6}}}}}}
{6, 5, 4, 3, 2, 1} --> {6}, {5}, {4}, {3}, {2}, {1}
{7, 3, 3, 2, 6, 4} --> {7}, {3, 3}, {2, {6}, {4}}
{7, 3, 1, -8, 4, 8, 2, -9, 2, 8} --> {7}, {3}, {1}, {-8, {4, {8}, {2}, {-9, {2, {8}}}}}
স্ট্যান্ডার্ড লুফোলগুলি প্রয়োগ হয় এবং বাইটের মধ্যে সংক্ষিপ্ত উত্তর!
[-100, 100]
তবে আমি বিশাল ইনপুট দেওয়ার পরিকল্পনা করছি না।
{2, 1}
হয়ে {2}, {1}
" কিভাবে যে এক স্তর উচ্চতর ? এক স্তর উচ্চতর হবে {2}, 1
। আপনার যা আছে তা একই স্তর।