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

পাইথনে দুটি স্ট্রিং থেকে সর্বোচ্চ অ্যানাগ্রাম সাবসিকোয়েন্সের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম


ধরা যাক দুটি ছোট হাতের স্ট্রিং S এবং T আছে, আমাদের সর্বোচ্চ অ্যানাগ্রাম সাবসিকোয়েন্সের দৈর্ঘ্য খুঁজে বের করতে হবে।

উদাহরণ: S = "helloworld", T = "hellorld" হলে আউটপুট 8।

সমাধানের ধাপসমূহ

  • c := নতুন ম্যাপ, d := নতুন ম্যাপ
  • S-এর প্রতিটি ক্যারেক্টারের ফ্রিকোয়েন্সি c-এ সংরক্ষণ করুন।
  • T-এর প্রতিটি ক্যারেক্টারের ফ্রিকোয়েন্সি d-এ সংরক্ষণ করুন।
  • res := 0
  • c-এর প্রতিটি ক্যারেক্টার ch-এর জন্য:
    • যদি d[ch] > 0 হয়, তবে res := res + min(c[ch], d[ch])
  • res ফেরত দিন।

উদাহরণ কোড

class Solution:
    def solve(self, a, b):
        c, d = {}, {}
        for i in range(len(a)):
            if a[i] in c:
                c[a[i]] += 1
            else:
                c[a[i]] = 1
        for i in range(len(b)):
            if b[i] in d:
                d[b[i]] += 1
            else:
                d[b[i]] = 1
        res = 0
        for ch in c:
            if d.get(ch, 0) > 0:
                res += min(c[ch], d[ch])
        return res

ob = Solution()
S = "helloworld"
T = "hellorld"
print(ob.solve(S, T))

ইনপুট

S = "helloworld", T = "hellorld"

আউটপুট

8
  1. পাইথনে সর্বোচ্চ ক্রমবর্ধমান সাবসিকোয়েন্সের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে স্বতন্ত্র উপাদান সম্বলিত সর্বোচ্চ দীর্ঘ সাবলিস্টের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে অক্রমাগত অ্যারেতে সর্বোচ্চ ক্রমাগত সিকোয়েন্সের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে স্ট্রিংয়ে সর্বোচ্চ সমবায়ন ব্র্যাকেট সাবসিকোয়েন্সের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম