मान लीजिए कि हमारे पास एक स्ट्रिंग S है (सभी अक्षर लोअरकेस में हैं), हमें लंबाई चार के उन सभी उप-स्ट्रिंग्स की गिनती का पता लगाना होगा जिनके वर्णों को इस शब्द को बनाने के लिए पुनर्व्यवस्थित किया जा सकता है "पक्षी"।
इसलिए, यदि इनपुट "बर्डब" जैसा है, तो आउटपुट 2 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सीएनटी:=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] के समान है, तो
-
सीएनटी:=सीएनटी + 1
-
-
-
-
वापसी सीएनटी
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
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