मान लीजिए कि हमारे पास "x", "y" और "z" s के साथ एक स्ट्रिंग है, हमें बाद की संख्या ज्ञात करनी है जिसमें "x" वर्णों की संख्या है, उसके बाद "y" वर्णों की j संख्या और उसके बाद k "z" वर्णों की संख्या जहाँ i, j, k 1.
इसलिए, यदि इनपुट s ="xxyz" जैसा है, तो आउटपुट 3 होगा, क्योंकि हम दो "xyz" और एक "xxyz" बना सकते हैं
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
-
n :=s का आकार
-
एक्स:=0, वाई:=0, जेड:=0
-
मेरे लिए 0 से n की सीमा में, करें
-
गिनती :=0
-
अगर s[i] "x" के समान है, तो
-
एक्स:=एक्स * 2
-
एक्स:=एक्स + 1
-
-
अगर s[i] "y" के समान है, तो
-
वाई:=वाई * 2
-
वाई:=वाई + एक्स
-
-
अगर s[i] "z" के समान है, तो
-
z :=z * 2
-
z :=z + y
-
-
-
वापसी z
उदाहरण
class Solution:
def solve(self, s):
n = len(s)
x = 0
y = 0
z = 0
for i in range(n):
count = 0
if s[i] == "x":
x *= 2
x += 1
if s[i] == "y":
y *= 2
y += x
if s[i] == "z":
z *= 2
z += y
return z
ob = Solution()
print(ob.solve("xxyz")) इनपुट
"xxyz"
आउटपुट
3