ধরুন, একটি স্ট্রিং s দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে এর সব প্যালিনড্রোমিক সাবস্ট্রিং (উপস্ট্রিং) কি বিজোড় দৈর্ঘ্যের।
যেমন, ইনপুট s = "levelopmadam" হলে আউটপুট হবে True, কারণ এতে দুটি প্যালিনড্রোমিক সাবস্ট্রিং আছে "level" এবং "madam" — দুটোই বিজোড় দৈর্ঘ্যের (৫)।
সমাধানের ধাপসমূহ
- সব সম্ভাব্য সাবস্ট্রিং জেনারেট করুন (নেস্টেড লুপ দিয়ে)।
- প্রতিটি সাবস্ট্রিং এর জন্য:
- যদি দৈর্ঘ্য জোড় হয় এবং সেটি প্যালিনড্রোম হয়, তবে False ফেরত দিন।
- লুপ শেষ হলে True ফেরত দিন।
উদাহরণ কোড
def is_palindrome(s):
return s == s[::-1]
def solve(s):
for i in range(len(s)):
temp = ""
for j in range(i, len(s)):
temp += s[j]
if len(temp) % 2 == 0 and is_palindrome(temp):
return False
return True
s = "levelopmadam"
print(solve(s))
ইনপুট
"levelopmadam"
আউটপুট
True