ধরুন আমাদের একটি স্ট্রিং s এবং আরেকটি সংখ্যা k আছে, আমাদের পরীক্ষা করতে হবে যে আমরা s-এর সমস্ত অক্ষর ব্যবহার করে kpalindrome তৈরি করতে পারি কি না।
সুতরাং, যদি ইনপুটটি s ="amledavmel" k =2 এর মত হয়, তাহলে আউটপুট হবে True, যেমন আমরা "level" এবং "madam" করতে পারি।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব
-
d :=একটি মানচিত্র যেখানে প্রতিটি অনন্য অক্ষর এবং তাদের ফ্রিকোয়েন্সি সংরক্ষণ করা হয়
-
cnt :=0
-
d-এ প্রতিটি কীর জন্য করুন
-
যদি d[কী] বিজোড় হয়, তাহলে
-
cnt :=cnt + 1
-
-
যদি cnt> k, তাহলে
-
রিটার্ন ফলস
-
-
-
রিটার্ন ট্রু
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
উদাহরণ
from collections import Counter class Solution: def solve(self, s, k): d = Counter(s) cnt = 0 for key in d: if d[key] & 1: cnt += 1 if cnt > k: return False return True ob = Solution() s = "amledavmel" k = 2 print(ob.solve(s, k))
ইনপুট
"amledavmel",2
আউটপুট
True