ধরুন আমাদের ছোট হাতের বর্ণমালায় একটি স্ট্রিং আছে, আমাদের এমন সাবস্ট্রিং খুঁজে বের করতে হবে যাতে অন্তত একবার সব স্বরবর্ণ থাকে এবং সেই সাবস্ট্রিংয়ে কোনো ব্যঞ্জনবর্ণ নেই।
সুতরাং, যদি ইনপুটটি "helloworldaeiouaieuonicestring" এর মত হয়, তাহলে আউটপুট হবে ['aeiou', 'aeioua', 'aeiouai', 'aeiouaiu', 'eioua', 'eiouai', 'eiouaiu']
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
n :=s
এর আকার -
0 থেকে n রেঞ্জের জন্য, করুন
-
my_map :=একটি নতুন মানচিত্র
-
i থেকে n রেঞ্জে j এর জন্য, do
-
যদি s[j] স্বরবর্ণ না হয়, তাহলে
-
লুপ থেকে বেরিয়ে আসুন
-
-
my_map[s[j]] :=1
-
যদি my_map এর আকার 5 এর সমান হয়, তাহলে
-
প্রদর্শন s[সূচী i থেকে j + 1]
-
-
-
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def isVowel(x): if x in ['a','e','i','o','u']: return True return False def get_substrings(s): n = len(s) for i in range(n): my_map = dict() for j in range(i, n): if (isVowel(s[j]) == False): break my_map[s[j]] = 1 if (len(my_map) == 5): print(s[i:j + 1]) s = "helloworldaeiouaiunicestring" get_substrings(s)
ইনপুট
"helloworldaeiouaiunicestring"
আউটপুট
aeiou aeioua aeiouai aeiouaiu eioua eiouai eiouaiu