ছোট হাতের বা বড় হাতের অক্ষর নিয়ে গঠিত একটি স্ট্রিং s দেওয়া হলে, আমাদের সেই অক্ষর দিয়ে তৈরি করা যেতে পারে এমন দীর্ঘতম প্যালিনড্রোমের দৈর্ঘ্য ফেরত দিতে হবে। অক্ষরগুলি কেস সংবেদনশীল, উদাহরণস্বরূপ, "Aa" এখানে প্যালিনড্রোম হিসাবে বিবেচিত হয় না৷
যেমন −
যদি ইনপুট স্ট্রিং −
হয়const str = "abccccdd";
তাহলে আউটপুট 7 হতে হবে,
কারণ, একটি দীর্ঘতম প্যালিনড্রোম যা নির্মিত হতে পারে তা হল "dccaccd", যার দৈর্ঘ্য 7৷
উদাহরণ
const str = "abccccdd";
const longestPalindrome = (str) => {
const set = new Set();
let count = 0;
for (const char of str) {
if (set.has(char)) {
count += 2; set.delete(char);
}
else {
set.add(char);
}
}
return count + (set.size > 0 ? 1 : 0);
};
console.log(longestPalindrome(str)); আউটপুট
এবং কনসোলে আউটপুট হবে −
7