मान लीजिए कि हमारे पास "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