কম্পিউটার টিউটোরিয়াল

পাইথনে x, y, z অক্ষরের নির্দিষ্ট সংখ্যা সম্বলিত সাবসিকোয়েন্স গণনা


ধরুন একটি স্ট্রিং s আছে "x", "y", "z" দিয়ে। আমাদের সাবসিকোয়েন্সের সংখ্যা বের করতে হবে যাতে i সংখ্যক "x", তারপর j সংখ্যক "y", তারপর k সংখ্যক "z" থাকে (i, j, k ≥ 1)।

ইনপুট: s = "xxyz" → আউটপুট: 3 (দুটি "xyz" এবং একটি "xxyz")।

সমাধান পদ্ধতি

  • n := s-এর সাইজ
  • x := 0, y := 0, z := 0
  • i = 0 থেকে n-1 পর্যন্ত লুপ
    • যদি s[i] == "x": x = x*2 + 1
    • যদি s[i] == "y": y = y*2 + x
    • যদি s[i] == "z": z = z*2 + y
  • z ফেরত দিন

বাস্তবায়ন

class Solution:
    def solve(self, s):
        n = len(s)
        x = 0
        y = 0
        z = 0
        for i in range(n):
            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
  1. পাইথনে লিস্ট থেকে অ্যারিথমেটিক সাবসিকোয়েন্সের সংখ্যা বের করার প্রোগ্রাম

  2. পাইথনে 'a' কে 'a' বা 'b' এবং 'b' কে 'b' রেখে বানানো সম্ভাব্য স্ট্রিং সংখ্যা বের করার প্রোগ্রাম

  3. পাইথনে বিটওয়াইজ AND ও OR-র সর্বোচ্চ যোগফল দিয়ে সাবসিকোয়েন্স খুঁজে বের করা

  4. পাইথনে লিস্ট থেকে সর্বোচ্চ সংখ্যা বের করা