ধরুন আমাদের "x", "y" এবং "z" s সহ একটি স্ট্রিং s আছে, আমাদেরকে "x" অক্ষরের i সংখ্যা, তারপর "y" অক্ষরের j সংখ্যা এবং তার পরের সংখ্যাগুলি খুঁজে বের করতে হবে "z" অক্ষরের k সংখ্যা যেখানে i, j, k ≥ 1।
সুতরাং, যদি ইনপুটটি s ="xxyz" এর মত হয়, তাহলে আউটপুট হবে 3, কারণ আমরা দুটি "xyz" এবং একটি "xxyz"
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব:
-
n :=s
এর আকার -
x :=0, y :=0, z :=0
-
0 থেকে n রেঞ্জের জন্য, করুন
-
গণনা :=0
-
যদি s[i] "x" এর মত হয়, তাহলে
-
x :=x * 2
-
x :=x + 1
-
-
যদি s[i] "y" এর মত হয়, তাহলে
-
y :=y * 2
-
y :=y + x
-
-
যদি 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