ধরুন আমাদের কাছে শুধুমাত্র ইংরেজি স্বরবর্ণ সহ একটি স্ট্রিং 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