ধরুন আমাদের একটি স্ট্রিং s আছে যা বর্ণমালার অক্ষর এবং একটি সংখ্যা k প্রতিনিধিত্ব করছে। আমাদের প্যালিনড্রোমের সংখ্যা খুঁজে বের করতে হবে যেখানে আমরা শুধুমাত্র s-এর অক্ষর ব্যবহার করে k দৈর্ঘ্য তৈরি করতে পারি। এবং আমরা চাইলে এই অক্ষরগুলি একাধিকবার ব্যবহার করতে পারি।
সুতরাং, যদি ইনপুটটি s ="xy", k =4 এর মত হয়, তাহলে আউটপুট হবে 4 কারণ প্যালিনড্রোমগুলি [xxxx, yyyy, xyyx, yxxy]।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- n :=k/2 এর ভাগফল
- x :=s এ অনন্য অক্ষরের সংখ্যা
- রিটার্ন x^(n + k mod 2)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, s, k): n=k//2 return len(set(s))**(n+k%2) s = "xy" k = 4 ob = Solution() print(ob.solve(s, k))
ইনপুট
"xy",4
আউটপুট
4