কম্পিউটার

পাইথনে দুটি স্বতন্ত্র উপাদান আছে এমন দীর্ঘতম সাবস্ট্রিংয়ের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের একটি স্ট্রিং s আছে, আমাদেরকে সবচেয়ে দীর্ঘতম সাবস্ট্রিংয়ের দৈর্ঘ্য খুঁজে বের করতে হবে যাতে প্রায় 2টি স্বতন্ত্র অক্ষর রয়েছে।

সুতরাং, যদি ইনপুটটি s ="xyzzy" এর মত হয়, তাহলে আউটপুট হবে 4, কারণ "yzzy" হল সর্বাধিক 2টি অনন্য অক্ষর সহ দীর্ঘতম সাবস্ট্রিং৷

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

  • শুরু :=0

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

  • উত্তর :=0

  • 0 থেকে s আকারের পরিসরের শেষের জন্য, করুন

    • c[s[end]] :=c[s[end]] + 1

    • যখন c> 2 এর সাইজ, do

      • c[s[start]] :=c[s[start]] - 1


      • যদি c[s[start]] 0 হয়, তাহলে

        • c[s[start]]

          মুছুন
      • start :=start + 1

    • উত্তর :=সর্বাধিক উত্তর এবং (শেষ - শুরু + 1)

  • উত্তর ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, s):
      from collections import Counter
      start = 0
      c = Counter()
      ans = 0
      for end in range(len(s)):
         c[s[end]] += 1
         while len(c) > 2:
            c[s[start]] -= 1
            if not c[s[start]]:
               del c[s[start]]
            start += 1
         ans = max(ans, end - start + 1)
      return ans
ob = Solution()
s = "xyzzy"
print(ob.solve(s))

ইনপুট

s = "xyzzy"

আউটপুট

4

  1. পাইথনে একটি এন-আরি গাছের দীর্ঘতম পথের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  2. পাইথনের একটি বাইনারি গাছে দুটি উপাদানের মধ্যে সাধারণ একটি পূর্বপুরুষ খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে দুটি স্বতন্ত্র উপাদানের বৃহত্তম পণ্য খুঁজে বের করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম a no দুইটির শক্তি কিনা তা খুঁজে বের করতে