একটি স্ট্রিং s দেওয়া আছে। যাচাই করতে হবে যে এর কোনো প্রিফিক্স এবং কোনো সাফিক্স প্যালিনড্রোম কিনা (দৈর্ঘ্য ≥ ২)।
উদাহরণ
ইনপুট: s = "levelishighforracecar"
আউটপুট: True
ব্যাখ্যা: প্রিফিক্স "level", সাফিক্স "racecar" - দুটোই প্যালিনড্রোম।
অ্যালগরিদম
- প্রিফিক্স প্যালিনড্রোম খুঁজুন (দৈর্ঘ্য ২ থেকে শুরু)।
- সাফিক্স প্যালিনড্রোম খুঁজুন।
- দউভয় পাওয়া গেলে
True।
উদাহরণ কোড
def is_palindrome(s):
return s == s[::-1]
def solve(s):
l = len(s)
for i in range(2, l + 1):
if is_palindrome(s[:i]):
break
else:
return False
for i in range(2, l + 1):
if is_palindrome(s[l - i:]):
return True
return False
s = "levelishighforracecar"
print(solve(s)) # Output: True
ইনপুট
"levelishighforracecar"
আউটপুট
True