मान लीजिए हमारे पास एक स्ट्रिंग S है (सभी अक्षर लोअरकेस में हैं), हमें लंबाई चार के उन सभी सब-स्ट्रिंग्स की संख्या ढूंढनी है जिनके वर्णों को पुनर्व्यवस्थित करके यह शब्द "bird" बनाया जा सके।
तो, यदि इनपुट "birdb" जैसा है, तो आउटपुट 2 होगा।
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
cnt := 0
i को 0 से s के आकार - 3 तक के लिए, करें:
bird := [0, 0, 0, 0] ऐरे के साथ
j को i से i+4 तक के लिए, करें:
यदि s[j], 'b' के समान है, तो:
bird[0] := bird[0] + 1
अन्यथा जब s[j], 'i' के समान है, तो:
bird[1] := bird[1] + 1
अन्यथा जब s[j], 'r' के समान है, तो:
bird[2] := bird[2] + 1
अन्यथा जब s[j], 'd' के समान है, तो:
bird[3] := bird[3] + 1
यदि bird, [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