কম্পিউটার

পাইথনে ক্রমানুসারে সমস্ত স্বরবর্ণের দীর্ঘতম সাবস্ট্রিং খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে শুধুমাত্র ইংরেজি স্বরবর্ণ সহ একটি স্ট্রিং s আছে, আমাদের s-এর দীর্ঘতম সুন্দর সাবস্ট্রিংটির দৈর্ঘ্য খুঁজে বের করতে হবে। যদি আমরা এই ধরনের সাবস্ট্রিং খুঁজে না পাই, তাহলে 0 ফেরত দিন। একটি স্ট্রিংকে সুন্দর বলা হয় যদি এটি নিম্নলিখিত শর্তগুলি পূরণ করে -

  • 5টি স্বরবর্ণের প্রতিটিতে অন্তত একবার উপস্থিত হতে হবে।

  • অক্ষরগুলি অবশ্যই বর্ণানুক্রমিক ক্রম অনুসারে সাজাতে হবে

সুতরাং, যদি ইনপুটটি s ="aaioaaaaeiiouuooaauu" এর মত হয়, তাহলে আউটপুট হবে 10 কারণ সাবস্ট্রিংটি "aaaaeiiouu" যা সুন্দর৷

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

  • স্বরবর্ণ :=সমস্ত স্বরবর্ণের একটি তালিকা ['a', 'e', ​​'i', 'o', 'u']

  • l :=0, r :=0, দীর্ঘতম :=0

  • যখন l

    • বৈধ :=সত্য

    • স্বরবর্ণের প্রতিটি স্বরবর্ণের জন্য, করুন

      • বৈধ :=বৈধ সত্য এবং (r

      • যখন r

        • r :=r + 1

    • যদি বৈধ সত্য হয়, তাহলে

      • দীর্ঘতম :=সর্বাধিক দীর্ঘতম এবং (r - l)

    • l :=r

  • দীর্ঘতম রিটার্ন

উদাহরণ

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

def solve(s):
   vowels = ['a', 'e', 'i', 'o', 'u']
   l, r, longest = 0, 0, 0
   while (l < len(s)):
      valid = True
      for vowel in vowels:
         valid &= (r < len(s) and s[r] == vowel)
         while (r < len(s) and s[r] == vowel):
            r += 1
      if (valid):
         longest = max(longest, r - l)
      l = r
   return longest

s = "aaioaaaaeiiouuooaauu"
print(solve(s))

ইনপুট

"aaioaaaaeiiouuooaauu"

আউটপুট

10

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

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

  3. পাইথনে সাজানো ক্রমে একটি প্রদত্ত সংখ্যার সমস্ত মৌলিক গুণনীয়ক খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে সমস্ত স্বর ধারণ করে এমন সাবস্ট্রিং খুঁজুন