मान लीजिए कि हमारे पास लोअरकेस अक्षरों की एक स्ट्रिंग है, हमें उन सबस्ट्रिंग्स की कुल संख्या ज्ञात करनी है जिनमें एक अद्वितीय वर्ण है।
इसलिए, यदि इनपुट "xxyy" जैसा है, तो आउटपुट 6 होगा क्योंकि सबस्ट्रिंग हैं [x, x, xx, y, y, yy]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- कुल :=0
- पिछला:=खाली स्ट्रिंग
- प्रत्येक वर्ण c in s के लिए, करें
- यदि c पहले जैसा नहीं है, तो
- पिछला :=c
- अस्थायी:=1
- अन्यथा,
- अस्थायी:=अस्थायी + 1
- कुल:=कुल + अस्थायी
- यदि c पहले जैसा नहीं है, तो
- कुल वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution:
def solve(self, s):
total = 0
previous = ''
for c in s:
if c != previous:
previous = c
in_a_row = 1
else:
in_a_row += 1
total += in_a_row
return total
ob = Solution()
print(ob.solve("xxyy")) इनपुट
"xxyy"
आउटपुट
6