কম্পিউটার

দুটি স্ট্রিং চেক করার প্রোগ্রাম অক্ষর অদলবদল করে সমান হতে পারে বা পাইথনে নয়


ধরুন আমাদের দুটি ছোট হাতের স্ট্রিং s এবং t আছে, তারা একই দৈর্ঘ্যের। আমরা s থেকে একটি অক্ষর এবং t থেকে আরেকটি অক্ষর নির্বাচন করে তাদের অদলবদল করতে পারি। আমরা যতবার চাই ততবার এই অপারেশনটি করতে পারি। অবশেষে, আমাদের পরীক্ষা করতে হবে যে দুটি স্ট্রিং একই করা সম্ভব কি না।

সুতরাং, ইনপুট যদি s ="abcd" t ="cdab" এর মত হয়, তাহলে আউটপুট হবে True

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

  • fre :=s এবং t এর সংযুক্ত স্ট্রিং-এ উপস্থিত প্রতিটি উপাদানের ফ্রিকোয়েন্সি ধারণকারী একটি তালিকা
  • fre-এর সমস্ত মানের তালিকায় প্রতিটি cnt-এর জন্য, করুন
    • যদি cnt mod 2 1 হয়, তাহলে
      • মিথ্যে ফেরত দিন
  • সত্য ফেরান

উদাহরণ

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

from collections import Counter
def solve(s, t):
   fre = Counter(s+t)

   for cnt in fre.values():
      if cnt % 2:
         return False

   return True

s = "abcd"
t = "cdab"
print(solve(s, t))

ইনপুট

"abcd", "cdab"

আউটপুট

True

  1. আমরা পাইথনে সমান যোগফল দিয়ে দুটি পার্টিশনের গ্রুপ করতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম?

  2. পাইথনে নোড অদলবদল করে দুটি গাছ তৈরি করা যায় কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. দুটি স্ট্রিং পরীক্ষা করার জন্য প্রোগ্রাম 0 বা 1 সম্পাদনা দূরত্ব দূরে বা পাইথনে নয়

  4. পাইথনে অক্ষর অদলবদল করে একই দৈর্ঘ্যের দুটি স্ট্রিং সমান করার প্রোগ্রাম