ধরুন আমাদের একটি স্ট্রিং 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