কম্পিউটার

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


ধরুন আমাদের ছোট হাতের বর্ণমালায় একটি স্ট্রিং আছে, আমাদের এমন সাবস্ট্রিং খুঁজে বের করতে হবে যাতে অন্তত একবার সব স্বরবর্ণ থাকে এবং সেই সাবস্ট্রিংয়ে কোনো ব্যঞ্জনবর্ণ নেই।

সুতরাং, যদি ইনপুটটি "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

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

  2. পাইথনে k অক্ষর মুছে ফেলার পরে সমস্ত সম্ভাব্য সাবস্ট্রিং খুঁজুন

  3. পাইথনে তালিকায় গণনা করা সমস্ত উপাদান খুঁজুন

  4. পাইথনে 0 দিয়ে ভরা সমস্ত আয়তক্ষেত্র খুঁজুন