চ্যালেঞ্জ
পূর্ণসংখ্যার একটি খালি খালি অ্যারে দেওয়া, যেমন:
[5, 2, 7, 6, 4, 1, 3]
প্রথমে এটি অ্যারেগুলিতে বিভক্ত করুন যেখানে কোনও আইটেম আগেরটির চেয়ে বড় নয় (যেমন অ-আরোহিত অ্যারে):
[5, 2] [7, 6, 4, 1] [3]
পরবর্তী, প্রতিটি অ্যারে বিপরীত:
[2, 5] [1, 4, 6, 7] [3]
অবশেষে, তাদের সবাইকে একত্রিত করুন:
[2, 5, 1, 4, 6, 7, 3]
আপনার প্রোগ্রাম আউটপুট / ফাংশনটি কী দেয় তা এটাই হওয়া উচিত। এই পদ্ধতিটি পর্যাপ্ত সময় পুনরাবৃত্তি করুন এবং অ্যারের সম্পূর্ণরূপে বাছাই করা হবে।
বিধি
- ইনপুট এবং আউটপুট যে কোনও মানক পদ্ধতির মাধ্যমে দেওয়া যেতে পারে এবং কোনও যুক্তিসঙ্গত অ্যারে ফর্ম্যাটে হতে পারে।
- ইনপুট অ্যারে কখনই খালি হবে না তবে এতে নেতিবাচক এবং / বা সদৃশগুলি থাকতে পারে।
- প্রতিটি পূর্ণসংখ্যার পরম মান সর্বদা 2 31 এর চেয়ে কম হবে ।
পরীক্ষার মামলা
আশা করি এগুলি সমস্ত প্রান্তের কেসগুলি কভার করে:
[1] -> [1]
[1, 1] -> [1, 1]
[1, 2] -> [1, 2]
[2, 1] -> [1, 2]
[2, 3, 1] -> [2, 1, 3]
[2, 1, 3] -> [1, 2, 3]
[2, 1, 2] -> [1, 2, 2]
[2, 1, 1] -> [1, 1, 2]
[3, 1, 1, 2] -> [1, 1, 3, 2]
[3, 2, 1, 2] -> [1, 2, 3, 2]
[3, 1, 2, 2] -> [1, 3, 2, 2]
[1, 3, 2, 2] -> [1, 2, 2, 3]
[1, 0, 5, -234] -> [0, 1, -234, 5]
[1, 0, 1, 0, 1] -> [0, 1, 0, 1, 1]
[1, 2, 3, 4, 5] -> [1, 2, 3, 4, 5]
[5, 4, 3, 2, 1] -> [1, 2, 3, 4, 5]
[2, 1, 5, 4, 3] -> [1, 2, 3, 4, 5]
[2, 3, 1, 5, 4] -> [2, 1, 3, 4, 5]
[5, 1, 4, 2, 3] -> [1, 5, 2, 4, 3]
[5, 2, 7, 6, 4, 1, 3] -> [2, 5, 1, 4, 6, 7, 3]
[-5, -2, -7, -6, -4, -1, -3] -> [-5, -7, -2, -6, -4, -3, -1]
[14, 5, 3, 8, 15, 7, 4, 19, 12, 0, 2, 18, 6, 11, 13, 1, 17, 16, 10, 9] -> [3, 5, 14, 8, 4, 7, 15, 0, 12, 19, 2, 6, 18, 11, 1, 13, 9, 10, 16, 17]
স্কোরিং
এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।
O(n^2)
O(n)
। প্রথম এবং শেষ উপাদানগুলি অদলবদল করুন এবং তারপরে দ্বিতীয় এবং দ্বিতীয় শেষ উপাদানগুলি অদলবদল করুন, যখন আপনি মাঝের স্টপটিতে পৌঁছবেন।
O(n)
বিপরীত হয় , কিন্তু বিপরীত সরাসরি আলগোরিদিম মধ্যে নির্মিত যেতে পারে (আমার জেএস উত্তর এটি কি); যেহেতু প্রতিটি পুনরাবৃত্তি অ্যারেতে প্রতিটি আইটেমের উপরে একবার লুপ করে, তাই একক পুনরাবৃত্তি হয় O(n)
। (আমি মনে করি ...)