मान लीजिए हमारे पास लोअरकेस अक्षरों की एक स्ट्रिंग s है, हमें उन सबस्ट्रिंग्स की कुल संख्या ढूंढनी है जिनमें एक अद्वितीय वर्ण है।
उदाहरण के लिए, यदि इनपुट "xxyy" है, तो आउटपुट 6 होगा क्योंकि सबस्ट्रिंग्स हैं [x, x, xx, y, y, yy]।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
- total := 0
- previous := खाली स्ट्रिंग
- s में प्रत्येक वर्ण c के लिए करें:
- यदि c, previous के बराबर नहीं है, तो:
- previous := c
- temp := 1
- अन्यथा, temp := temp + 1
- total := total + temp
- यदि c, previous के बराबर नहीं है, तो:
- total वापस करें
उदाहरण
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