ধরুন আমাদের একটি স্ট্রিং আছে আমাদের চেক করতে হবে স্ট্রিংটি a^nb^n প্যাটার্ন অনুসরণ করছে কি না। এটি আসলে একটি স্ট্রিং যখন n =3, স্ট্রিংটি "aaabbb" হবে।
সুতরাং, যদি ইনপুটটি s ="aaaaabbbbb" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ এটি a^5b^5 অনুসরণ করে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- size :=s এর আকার
- আমি 0 থেকে সাইজ - 1 এর রেঞ্জের জন্য, কর
- যদি s[i] 'a' এর মত না হয়, তাহলে
- লুপ থেকে বেরিয়ে আসুন
- যদি s[i] 'a' এর মত না হয়, তাহলে
- যদি i * 2 আকারের সমান না হয়, তাহলে
- মিথ্যে ফেরত দিন
- j-এর জন্য রেঞ্জ i থেকে সাইজ - 1, do
- যদি s[j] 'b' এর মতো না হয়, তাহলে
- মিথ্যে ফেরত দিন
- যদি s[j] 'b' এর মতো না হয়, তাহলে
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def solve(s): size = len(s) for i in range(size): if s[i] != 'a': break if i * 2 != size: return False for j in range(i, size): if s[j] != 'b': return False return True s = "aaaaabbbbb" print(solve(s))
ইনপুট
"aaaaabbbbb"
আউটপুট
True