মান ল করুন একটি s স্ট্রিং, আমাদের যাচাই করতে হবে s-এর যেকোনো পারমিউটেশন প্যালিনড্রোম কিনা।
যদি ইনপুট হয় s = "admma", তবে আউটপুট হবে True, কারণ "admma"-কে "madam"-এ রিয়ারেঞ্জ করা যায় যা একটি প্যালিনড্রোম।
এটি সমাধান করতে আমরা নিম্নলিখিত ধাপগুলি অনুসরণ করব:
- c := s-এর প্রতিটি ক্যারেক্টারের কাউন্ট ধারণকারী একটি ম্যাপ
- count := 0
- c.values()-এ থাকা প্রতিটি i-এর জন্য:
- যদি i বিজোড় হয়:
- যদি count == 0, তবে count := count + 1 এবং লুপ থেকে বের হোন
- False ফেরত দিন
- যদি i বিজোড় হয়:
- True ফেরত দিন।
বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশনটি দেখুন:
উদাহরণ
from collections import Counter class Solution: def solve(self, s): c = Counter(s) count = 0 for i in c.values(): if i % 2 != 0: if count == 0: count += 1 continue return False return True ob = Solution() s = "admma" print(ob.solve(s))
ইনপুট
"admma"
আউটপুট
True