ধরা যাক সমান দৈর্ঘ্যের দুটি স্ট্রিং S1 এবং S2 আছে। আমাদের এমন একটি ইন্ডেক্স i বের করতে হবে যাতে S1[0..i] এবং S2[i+1..n-1] কনক্যাট করলে প্যালিনড্রোম হয়। না পারলে -1 রিটার্ন করুন।
ইনপুট: S1="pqrsu", S2="wxyqp" → আউটপুট 1 (S1[0..1]="pq", S2[2..]="ypq", কনক্যাট="pqyqp" যা প্যালিনড্রোম)।
সমাধানের ধাপসমূহ
- n = len(str1), str = ""
- for i in 0..n-1:
- str += str1[i]
- temp = ""; for j in i+1..n-1: temp += str2[j]
- যদি isPalindrome(str+temp): return i
- return -1
উদাহরণ
def isPalindrome(s):
return s == s[::-1]
def find_index(str1, str2):
n = len(str1)
str = ""
for i in range(n):
str += str1[i]
temp = ""
for j in range(i + 1, n):
temp += str2[j]
if isPalindrome(str + temp):
return i
return -1
str1 = "pqrsu"
str2 = "wxyqp"
print(find_index(str1, str2))
ইনপুট
"pqrsu", "wxyqp"
আউটপুট
1