একটি "বাছাই করা অ্যালগরিদম" কখনও কখনও স্ট্যালিন সাজাকে বলা হয় যাতে একটি তালিকা সাজানোর জন্য আপনি ক্রমবর্ধমান ক্রম অনুসারে বাছাই না করা অবধি তালিকা থেকে উপাদানগুলি সরিয়ে ফেলুন। উদাহরণস্বরূপ তালিকা
[1, 2, 4, 5, 3, 6, 6]
স্ট্যালিন বাছাই করে যখন "সাজানো" হয়ে যায়
[1, 2, 4, 5, 6, 6]
তিনটি অপসারণ করা হয়েছে কারণ এটি বিন্যাসের বাইরে ছিল।
এখন স্পষ্টতই একটি তালিকা সাজানোর জন্য উপাদানগুলি অপসারণের অনেকগুলি উপায় রয়েছে। উদাহরণস্বরূপ দু'টিরও কম উপাদান সহ যে কোনও তালিকা বাছাই করতে হবে তাই কেবল পর্যাপ্ত উপাদানগুলি অন্ধভাবে মুছে ফেলা আমরা সর্বদা একটি তালিকা বাছাই করতে পারি। যেহেতু এটিই কেবল তাই আমরা কেবল স্ট্যালিন বাছাইয়ের দীর্ঘতম সম্ভাব্য ফলাফল সম্পর্কে যত্নশীল ।
আপনার কাজটি হ'ল ইতিবাচক পূর্ণসংখ্যার একটি তালিকা নেওয়া এবং দীর্ঘতম বাছাই করা (বর্ধমান) তালিকার দৈর্ঘ্য আউটপুট করা যা মূল তালিকা থেকে উপাদানগুলি সরিয়ে নিয়ে পৌঁছতে পারে। এটি দীর্ঘতম বাছাই করা (সম্ভবত অনড় না থাকা) উপ-তালিকার দৈর্ঘ্যটি খুঁজে বের করে।
সাজানো তালিকাগুলিতে একাধিকবার একাধিকবার একই উপাদান থাকতে পারে। আপনার প্রোগ্রামটি খালি না হলে খালি তালিকা সমর্থন করার দরকার নেই।
স্কোরিং
আপনার উত্তরটি তার নিজের দীর্ঘতম সম্ভাব্য স্টালিন সাজানোর দৈর্ঘ্য দ্বারা স্কোর করা হবে। প্রোগ্রামগুলি অক্ষরের পরিবর্তে বাইটের ক্রম হিসাবে ব্যাখ্যা করা হবে এবং তাদের ক্রমটি প্রাকৃতিক হবে যা বাইটগুলি সংখ্যা হিসাবে ব্যাখ্যা করে উত্পন্ন হবে। নিম্ন স্কোরগুলি আরও ভাল।
এটি কোড-গল্ফ নয়
আপনার উত্তরগুলি স্কোর করতে আপনাকে সহায়তা করার জন্য এখানে একটি ঝরঝরে O সরঞ্জাম রয়েছে ।
পরীক্ষার মামলা
[1, 2, 4, 5, 3, 6, 6] -> 6
[19, 2] -> 1
[3, 3, 4, 3] -> 3
[10] -> 1
[1, 2, 4, 9] -> 4
[1, 90, 2, 3, 4, 5] -> 5
[1, 90, 91, 2, 3, 4, 5] -> 5