কম্পিউটার

পাইথনে দীর্ঘতম অ্যানাগ্রাম অনুগামীর দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম


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

সুতরাং, যদি ইনপুটটি S ="helloworld", T ="hellorld" এর মত হয়, তাহলে আউটপুট হবে 8

  • এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • c :=একটি নতুন মানচিত্র, d :=একটি নতুন মানচিত্র

  • আমি 0 থেকে a এর আকারের মধ্যে, কর

    • যদি a[i] c তে, তাহলে

      • c[a[i]] :=c[a[i]] + 1

    • অন্যথায়,

      • c[a[i]] :=1

  • i এর জন্য 0 থেকে b এর আকারের মধ্যে, do

    • যদি b[i] d তে থাকে, তাহলে

      • d[b[i]] :=d[b[i]] + 1

    • অন্যথায়,

      • d[b[i]] :=1

  • res :=0

  • প্রতিটি ch-এর জন্য c, do

    • যদি d[ch]> 0 হয়, তাহলে

      • res :=res + সর্বনিম্ন c[ch] এবং d[ch]

  • রিটার্ন রিটার্ন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

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"

আউটপুট

1

  1. পাইথনে দীর্ঘতম ক্রমবর্ধমান অনুক্রমের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

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

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

  4. পাইথনে দীর্ঘতম সুষম অনুসৃতির দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম