কম্পিউটার টিউটোরিয়াল

পাইথনে যাচাই করুন স্ট্রিং রি-অ্যারেঞ্জ করে প্যালিনড্রোম বানানো যায় কিনা

ধরুন, একটি স্ট্রিং দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে এর ক্যারেক্টারগুলো শাফল (rearrange) করে কি একটি প্যালিনড্রোম বানানো সম্ভব।

যেমন, ইনপুট s = "aarcrce" হলে আউটপুট হবে True, কারণ এটি শাফল করে "racecar" বানানো যায় যা প্যালিনড্রোম।

সমাধানের ধাপসমূহ

  • size = 256 (ASCII রেঞ্জ)।
  • freq অ্যারে ২৫৬ সাইজে ০ দিয়ে ফিল করুন।
  • স্ট্রিং ট্রাভার্স করে ফ্রিকোয়েন্সি বাড়ান।
  • odd_count = 0।
  • ফ্রিকোয়েন্সি অ্যারে স্ক্যান করুন:
    • যদি freq[i] % 2 == 1 হয়, তবে odd_count++।
    • যদি odd_count > 1 হয়, তবে False ফেরত দিন।
  • লুপ শেষ হলে True ফেরত দিন।

উদাহরণ কোড

size = 256

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

s = "aarcrce"
print(solve(s))

ইনপুট

"aarcrce"

আউটপুট

True
  1. দেওয়া স্ট্রিংটি ভয়েল প্যালিনড্রোম কিনা চেক করার পাইথন প্রোগ্রাম

  2. পাইথনে স্ট্রিং নাম্বার প্যালিনড্রোম কিনা চেক করা

  3. পাইথনে প্যালিনড্রোম স্ট্রিং চেক করা

  4. পাইথনে স্ট্রিং ফ্লোট-এ কনভার্ট করা যায় কিনা যাচাই করা