मान लीजिए हमारे पास एक स्ट्रिंग s और एक सबस्ट्रिंग t है। हमें गिनना है कि t, s में कितनी बार आता है।
उदाहरण के लिए, यदि इनपुट s = "abaabcaabababaab", t = "aab" है, तो आउटपुट 3 होगा क्योंकि सबस्ट्रिंग्स हैं ab(aab)c(aab)abab(aab)।
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
- cnt := 0
- i के लिए 0 से (s का आकार - t का आकार) तक की रेंज में, करें
- यदि s का सबस्ट्रिंग [इंडेक्स i से i + t का आकार - 1 तक] t के समान है, तो
- cnt := cnt + 1
- यदि s का सबस्ट्रिंग [इंडेक्स 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