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