কম্পিউটার

Python-এ প্রদত্ত শব্দ গঠনের জন্য সাব-স্ট্রিংগুলির গণনা খুঁজুন যার অক্ষরগুলি পুনর্বিন্যাস করা যেতে পারে


ধরুন আমাদের একটি স্ট্রিং S আছে (সমস্ত অক্ষর ছোট হাতের অক্ষর আছে), আমাদের চার দৈর্ঘ্যের সমস্ত সাব-স্ট্রিংগুলির গণনা খুঁজে বের করতে হবে যার অক্ষরগুলিকে এই শব্দটি গঠনের জন্য পুনর্বিন্যাস করা যেতে পারে "পাখি।"

সুতরাং, ইনপুট যদি "birdb" এর মত হয়, তাহলে আউটপুট হবে 2।

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

  • cnt :=0

  • 0 থেকে s - 3 এর মাপের রেঞ্জের জন্য, করুন

    • পাখি :=[0, 0, 0, 0] সহ একটি অ্যারে

    • i থেকে i + 4 রেঞ্জে j এর জন্য, করুন

      • যদি s[j] 'b' এর মত হয়, তাহলে

        • পাখি[0] :=পাখি[0] + 1

      • অন্যথায় যখন s[j] 'i' এর মত হয়, তখন

        • পাখি[1] :=পাখি[1] + 1

      • অন্যথায় যখন s[j] 'r' এর মত হয়, তখন

        • পাখি[2] :=পাখি[2] + 1

      • অন্যথায় যখন s[j] 'd' এর মত হয়, তখন

        • পাখি[3] :=পাখি[3] + 1

      • যদি পাখি একই হয় [1,1,1,1], তাহলে

        • cnt :=cnt + 1

  • ফেরত cnt

উদাহরণ

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

def number_of_occurrence(s):
   cnt = 0
   for i in range(0, len(s) - 3):
      bird = [0, 0, 0, 0]
      for j in range(i, i + 4):
         if s[j] == 'b':
            bird[0] += 1
         elif s[j] == 'i':
            bird[1] += 1
         elif s[j] == 'r':
            bird[2] += 1
         elif s[j] == 'd':
            bird[3] += 1
      if bird == [1,1,1,1]:
         cnt += 1
   return cnt
s = "birdb"
print(number_of_occurrence(s))

ইনপুট

"birdb"

আউটপুট

2

  1. পাইথনে একটি প্রদত্ত স্ট্রিং-এ k অনন্য অক্ষর সহ দীর্ঘতম সাবস্ট্রিং খুঁজুন

  2. পাইথনে সাজানো আকারে একটি স্ট্রিংয়ের প্যালিনড্রোমিক সাব-স্ট্রিং এর গণনা খুঁজুন

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

  4. পাইথনে একটি স্ট্রিং প্রথম বার বার শব্দ খুঁজুন?