কম্পিউটার

আমরা পাইথনে প্রদত্ত স্ট্রিং অক্ষর থেকে কে প্যালিনড্রোম তৈরি করতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম?


ধরুন আমাদের একটি স্ট্রিং 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

  1. প্রদত্ত গ্রাফটি পাইথনে দ্বিপক্ষীয় কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

  2. প্রদত্ত ম্যাট্রিক্স Toeplitz ম্যাট্রিক্স কি পাইথনে নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. একটি প্রদত্ত স্ট্রিং কীওয়ার্ড কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. একটি প্রদত্ত স্ট্রিং Heterogram কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম