প্যালিনড্রোম এমন একটি শব্দ যা তার নিজস্ব বিপরীত।
এখন কিছু শব্দ রয়েছে যা প্যালিনড্রোমের মতো দেখতে লাগবে কিন্তু তা নয়। উদাহরণস্বরূপ, শব্দটি বিবেচনা করুন sheesh
, sheesh
একটি প্যালিনড্রোম নয় কারণ এর বিপরীত hseehs
যা ভিন্ন, তবে যদি আমরা sh
একটি একক অক্ষর হিসাবে বিবেচনা করি তবে এটি বিপরীত sheesh
। এই জাতীয় শব্দটিকে আমরা একটি আধা-প্যালিনড্রোম বলব।
বিশেষত একটি শব্দ একটি অর্ধ-প্যালিনড্রোম হয় যদি আমরা শব্দটিকে কয়েকটি সংখ্যায় বিভক্ত করতে পারি যেমন খণ্ডগুলির ক্রম যখন বিপরীত হয় তখন মূল শব্দটি তৈরি হয়। ( sheesh
সেই অংশগুলি হ'ল sh e e sh
) আমাদের প্রয়োজন হবে না শব্দের উভয় অংশের কোনও অংশে অক্ষর থাকবে (অন্যথায় প্রতিটি শব্দ একটি অর্ধ-প্যালিনড্রোম হবে)। উদাহরণস্বরূপ rear
একটি আধা-প্যালিনড্রোম নয় কারণ r ea r
একটি শঙ্ক ea
রয়েছে ( ) যা মূল শব্দের উভয় পক্ষের অক্ষর ধারণ করে। আমরা একটি বিজোড় দৈর্ঘ্যের শব্দের মধ্যে কেন্দ্রীয় চরিত্রটিকে শব্দের উভয় পাশে বলে মনে করি, এইভাবে বিজোড় দৈর্ঘ্যের শব্দের জন্য কেন্দ্রের চরিত্রটি সর্বদা এর নিজস্ব অংশে থাকতে হবে।
আপনার কাজটি ইতিবাচক পূর্ণসংখ্যার একটি তালিকা নেওয়া এবং সেগুলি আধা-প্যালিনড্রোম কিনা তা নির্ধারণ করা হবে। আপনার কোডটি দুটি সুসংগত অসম মানগুলিকে আউটপুট দেয়, একটি যদি ইনপুটটি একটি আধা-প্যালিনড্রোম হয় এবং অন্যটি অন্যথায়। তবে আপনার কোডের বাইট ক্রমটি অবশ্যই একটি আধা-প্যালিনড্রোম হতে হবে।
উত্তরগুলি কম বাইটের সাথে ভাল হওয়ার সাথে বাইটে স্কোর করা হবে।
টেস্ট-মামলা
[] -> True
[1] -> True
[2,1,2] -> True
[3,4,2,2,3,4] -> True
[3,5,1,3,5] -> True
[1,2,3,1] -> False
[1,2,3,3,4,1] -> False
[11,44,1,1] -> False
[1,3,2,4,1,2,3] -> False
আরও টেস্টকেস উত্পন্ন করার প্রোগ্রাম।
বোরোফাই উল্লেখ করেছেন যে এগুলি জেনারালাইজড স্মারান্ডে প্যালিনড্রোমের মতো । সুতরাং আপনি যদি আরও কিছু পড়াতে চান তবে এটি শুরু করার এক জায়গা।