ধরুন আমাদের একটি স্ট্রিং s এবং একটি সাবস্ট্রিং টি আছে। আমাদের গুনতে হবে কতবার s-তে t আসে।
সুতরাং, যদি ইনপুট s ="abaabcaabababaab", t ="aab" এর মত হয়, তাহলে আউটপুট হবে 3 কারণ সাবস্ট্রিংগুলি হল ab(aab)c(aab)abab(aab)।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- cnt :=0
- 0 থেকে (s-এর মাপ - t-এর মাপ) রেঞ্জের জন্য,
- করুন
- যদি s এর সাবস্ট্রিং [index i থেকে i + t - 1 এর আকার] t এর মত হয়, তাহলে
- cnt :=cnt + 1
- যদি s এর সাবস্ট্রিং [index i থেকে i + t - 1 এর আকার] t এর মত হয়, তাহলে
- cnt ফেরত
উদাহরণ
আরও ভালোভাবে বোঝার জন্য আসুন নিম্নলিখিত বাস্তবায়ন দেখি
def solve(s, t):
cnt = 0
for i in range(0, len(s) - len(t) + 1):
if s[i:i + len(t)] == t:
cnt = cnt + 1
return cnt
s = "abaabcaabababaab"
t = "aab"
print(solve(s, t)) ইনপুট
"abaabcaabababaab", "aab"
আউটপুট
3