मान लीजिए हमारे पास समान लंबाई के दो स्ट्रिंग S1 और S2 हैं, हमें एक सूचकांक i ढूंढना है जैसे कि S1[0...i] और S2[i+1...n-1] जब एक साथ जुड़े जाते हैं तो एक पैलिंड्रोम देते हैं। जब यह संभव नहीं है, तो -1 वापस करें।
तो, यदि इनपुट S1 = "pqrsu", S2 = "wxyqp" की तरह है, तो आउटपुट 1 होगा क्योंकि S1[0..1] = "pq", S2[2..n-1] = "ypq", फिर S1 + S2 = "pqyqp" दर्शाता है कि यह एक पैलिंड्रोम है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
n := str1 का आकार
str := खाली स्ट्रिंग
i के लिए 0 से n की सीमा में, करें
str := str concatenate str1[i]
temp := खाली स्ट्रिंग
j के लिए i + 1 से n की सीमा में, करें
temp := temp concatenate str2[j]
यदि isPalindrome(str concatenate temp) true है, तो
i वापस करें
-1 वापस करें
उदाहरण
बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def isPalindrome(s): if s == s[::-1]: return True return False def find_index(str1, str2): n = len(str1) str = "" for i in range(n): str = 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