কম্পিউটার

একটি স্ট্রিং এর কোনো অ্যানাগ্রাম প্যালিনড্রোম কিনা তা পরীক্ষা করুন পাইথনে নয়


ধরুন আমরা একটি স্ট্রিং s আছে. সেই স্ট্রিংয়ের একটি অ্যানাগ্রাম প্যালিনড্রোম তৈরি করছে কিনা তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি s ="aarcrec" এর মত হয়, তাহলে আউটপুট হবে True এই স্ট্রিংটির একটি অ্যানাগ্রাম হল "racecar" যা প্যালিনড্রোম।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • freq :=সমস্ত অক্ষর এবং তাদের ফ্রিকোয়েন্সি সংরক্ষণ করার জন্য একটি মানচিত্র
  • বিজোড়_গণনা :=0
  • ফ্রিকারের সমস্ত মানের তালিকায় প্রতিটি f-এর জন্য, করুন
    • যদি f বিজোড় হয়, তাহলে
      • odd_count :=odd_count + 1
  • যদি odd_count> 1 হয়, তাহলে
    • মিথ্যে ফেরত দিন
  • সত্য ফেরান

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

from collections import defaultdict
def solve(s):
   freq = defaultdict(int)
   for char in s:
      freq[char] += 1
   odd_count = 0
   for f in freq.values():
      if f % 2 == 1:
         odd_count += 1
   if odd_count > 1:
      return False
   return True
s = "aarcrec"
print(solve(s))

ইনপুট

"aarcrec"

আউটপুট

True

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

  2. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. একটি বাক্য পরীক্ষা করার জন্য পাইথন প্রোগ্রাম প্যানগ্রামস কিনা।

  4. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পাইথন ব্যবহার করছে কিনা তা কীভাবে পরীক্ষা করবেন?