কম্পিউটার

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


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

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

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

  • আকার :=256
  • freq :=256 আকারের একটি অ্যারে এবং 0 দিয়ে পূরণ করুন
  • 0 থেকে s আকারের রেঞ্জের জন্য,
      করুন
    • ফ্রিকোয় অ্যারেতে অক্ষর s[i] এর ফ্রিকোয়েন্সি 1 দ্বারা বাড়ান
  • বিজোড়_গণনা :=0
  • আমি 0 থেকে আকারের রেঞ্জের জন্য,
      করুন
    • যদি freq[i] id হয়, তাহলে
      • odd_count :=odd_count + 1
    • যদি odd_count> 1 হয়, তাহলে
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান

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

উদাহরণ

size = 256
def solve(s) :
   freq = [0] * size
   for i in range( 0, len(s)) :
      freq[ord(s[i])] = freq[ord(s[i])] + 1
   odd_count = 0
   for i in range(0, size) :
      if freq[i] % 2 == 1 :
         odd_count = odd_count + 1
      if odd_count > 1:
         return False
   return True
s = "aarcrce"
print(solve(s))

ইনপুট

"aarcrce"

আউটপুট

True

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

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

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

  4. পাইথনে একটি স্ট্রিংকে ফ্লোটে রূপান্তর করা যায় কিনা তা কীভাবে পরীক্ষা করবেন?